Hic*_*ick -2 python
使用时round(2.9239,2),它产生输出2.99999999而不是2.92.在stackoverflow中,我已经读过,处理这个的最好方法是在输出上使用字符串格式.如果这是唯一的方法,为什么我们甚至有一个圆函数?所有数字都不一致.正如在某些数字中,它给出了正确的输出,对于某些数字它没有.
round(2.9239,2)
Mar*_*air 6
(我认为你的意思是它应该是2.92,你得到的输出是2.9199999999999999.)
2.92
2.9199999999999999
这是浮点运算的经典问题 - 数字2.92不能完全表达为浮点指针数 - 在二进制中它将是无限的数字序列,因为⅓是十进制的.在Python文档中的浮点运算页面上很好地解释了这一点.该文档round()明确提到了这个问题.
round()
归档时间:
14 年,6 月 前
查看次数:
185 次
最近记录: