我从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
>>>
为什么它总是将它四舍五入到小数点后两位?如何保持原始精度?
非常感谢!
答案 0 :(得分:3)
这与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