我对Python很陌生,在对操作符进行实验时,我遇到了这样的情况:
>>> 7.0 / 3
2.3333333333333335结果不应该是2.3333333333333333或者2.3333333333333334。它为什么要用这样的方式来舍入数字呢?
另外,关于Python2.7中的楼层划分,我的结果是:
>>> 5 / 2
2
>>> 5 // 2
2
>>> 5.0 / 2
2.5
>>> 5.0 // 2
2.0所以我观察到,即使在浮点数的情况下,地板除法也会返回整数商,而普通除法则返回十进制值。这是真的吗?
发布于 2015-06-07 09:28:27
看看这个0.30000000000000004.com
你的语言没坏,它在做浮点数的数学。计算机只能本地存储整数,因此它们需要某种方式来表示十进制数。这种表述有一定程度的不准确。这就是为什么通常情况下,.1 + .2 != .3。
https://stackoverflow.com/questions/30691774
复制相似问题