我从2D数组中获取一个浮点数,当我调试它时,该数字在数组中显示为1406711403.588。我得到这样的变量
t = array_name [0] [0]
无论我使用哪种格式或四舍五入方法,t都一直变为1406711403.59。我在终端上尝试过:
>>> t = round(1406711403.588, 3)
>>> print t
1406711403.59
>>> t = round(1406711403.588, 2)
>>> print t
1406711403.59
>>> round(1406711403.588, 3)
1406711403.588
>>>
为什么总是将其舍入到小数点后两位?如何保持原始精度?
非常感谢 !
最佳答案
这与print
而不是round
有关。尝试这个:
>>> round(1406711403.588, 3)
1406711403.5880001
>>> print round(1406711403.588, 3)
1406711403.59
除非您指定其他内容,否则
print
将自动进行舍入。您可以这样指定小数点的数量:>>> print "%.3f" % (round(1406711403.588, 3))
1406711403.588
>>> print "%.5f" % (round(1406711403.588, 3))
1406711403.58800
关于python - 变量总是四舍五入到小数点后两位-Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25388894/