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。