基础Python数字

1 投票
6 回答
854 浏览
提问于 2025-04-15 16:56

为什么在Python中,0.1 + 0.1 + 0.1 - 0.3 这个计算结果是 5.5511151231257827e-17 呢?

6 个回答

7

这是一个关于浮点数的一般性问题。你可以在维基百科的这一部分找到相关描述。简单来说,就是存在舍入误差。注意你给我们的那个数字非常小,大约是0.00000000000000005551115123。这里还有一篇更专业的文章,可以了解更多相关内容。

14

这是因为浮点数的工作原理就是这样。如果你想要精确的数字,可以使用decimal模块。如果你想使用浮点数,那么在显示这些数字的时候,你需要记得把它们四舍五入到一个特定的精度。

>>> print '%.2f' % (0.1+0.1+0.1-0.3,)
0.00

撰写回答