如何用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