variables - 变量总是四舍五入到小数点后两位 - Python

标签 variables precision python-2.x epoch milliseconds

我从 2D 数组中获取一个 float ,当我调试它时,该数字在数组中显示为 1406711403.588。我得到这样的变量

t = 数组名称[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

关于variables - 变量总是四舍五入到小数点后两位 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388894/

相关文章:

javascript - float 显示错误

python - CPU (numpy) 和 GPU (gnumpy) 上的矩阵乘法给出不同的结果

python - 从字典列表中删除重复项(具有唯一值)

python - itertools.imap vs 映射整个可迭代对象

python - 如何正确地将阿拉伯语脚本插入到 Tkinter 文本小部件中?

Javascript 文档成员变量

c++ - 如何在具有常量类变量的类中声明常量数组?

PHP 保存变量

variables - 从 Makefile 变量中删除项目?

java - 如何在android中对结果进行四舍五入而不失去精度