如何用Python将39.54484700000000转换为39.54

18 投票
6 回答
83389 浏览
提问于 2025-04-16 13:03

可能是重复的问题:
python 限制浮点数到小数点后两位

我想用 Python 把 39.54484700000000 变成 39.54

该怎么做呢,

谢谢

6 个回答

3

如果你在使用Decimal(十进制数),可以用 quantize 这个方法:

In [24]: q = Decimal('0.00')

In [25]: d = Decimal("115.79341800000000")

In [26]: d.quantize(q)
Out[26]: Decimal("115.79")
3

round这个函数怎么样呢?

>>> import decimal
>>> d=decimal.Decimal("39.54484700000000")
>>> round(d,2)
39.54
30

如果你想改变实际的数值,可以使用 round,就像Eli建议的那样。不过,对于很多数值和某些版本的Python来说,这样做可能不会把结果显示成字符串“39.54”。如果你只是想把它四舍五入,然后生成一个字符串来给用户显示,你可以这样做:

>>> print "%.2f" % (39.54484700000000)
39.54

或者在更新版本的Python中,你可以这样:

>>> print("{:.2f}".format(39.54484700000000))
39.54

或者使用f字符串:

>>> print(f'{39.54484700000000:.2f}')
39.54

相关文档:字符串格式化操作内置函数:round

撰写回答