Python中的Round float

Round float in Python

本问题已经有最佳答案,请猛点这里访问。

我对python中的float有问题…

我有一个变量:

1
i = 9.600000000000001

我会在这里改变:

1
i = 9.60000

小数点后有五个数字,四舍五入。


1
2
3
>>> format(9.60000001,'.5f')                                                                                                            
'9.60000'
>>>


1
2
3
4
5
6
from decimal import *
getcontext().prec = 6
i = 9.600000000000001
newI = Decimal(i)/1

print(newI)

返回9.60000。但是,float(newi)返回9.6,这是正确的。真正的问题是您想要实际值,在这种情况下9.60000=9.6,还是只显示9.6为9.60000?在这种情况下,上面的打印解决方案将帮助您实现目标。


您可以在round()函数中使用第二个参数。

1
2
3
i = 9.600000000000001
i = round(i, 5)
print("%.5f" % i)

将返回9.60000。