python shell返回不正确的结果

时间:2012-10-01 20:01:27

标签: python-2.7

在shell中键入以下内容:3 * 7.1
Python返回值:21.299999999999997

当结果当然是21.3。

为什么会这样?

2 个答案:

答案 0 :(得分:2)

看看here,了解二进制系统中浮点数学的局限性。

答案 1 :(得分:1)

符合浮标的标准。当你处理浮点数时,你不会得到确切的数字,因为浮点数是用二进制实现的。想一想,没有可能的方法来处理具有无限精度的数字。

请参阅Wiki page on Floats