我从一个2D数组中得到一个浮点数,当我通过它进行调试时,这个数字在数组中显示为1406711403.588。我得到这样的变量
T= array_name
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
>>> 为什么它总是四舍五入到小数点2位呢?我怎样才能保持原来的精确性?
非常感谢!
发布于 2014-08-19 16:57:29
这与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.58800https://stackoverflow.com/questions/25388894
复制相似问题