我从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/

10-12 21:37