我使用下面的代码找出两个数字中的哪一个具有最大值:

maximum = max(2.3,2.300000000001)
print maximum

但我得到的输出是2.3而不是2.300000000001。有人能解释为什么会这样吗?

最佳答案

别担心-max没有坏,而且maximum确实可以保存2.300000000001print但是,打印时会将其舍入。你可以用repr来证明:

>>> maximum = max(2.3,2.300000000001)
>>> print maximum
2.3
>>> print repr(maximum)
2.300000000001

10-06 05:53