![](/img/trans.png)
[英]Does “math.floor(x)” and “int(x)” produce different results for positive real numbers in Python?
[英]math.floor() and // produce different results
在 Python3.4 中,我希望操作math.floor()
和//
产生相同的结果。 他们没有。
import math
n=20844627638611523
print (math.floor(n/2))
print (n//2)
印刷:
10422313819305762
10422313819305761
为什么?
问题在于您的表达式 n/2。 这将返回一个浮点数1.0422313819305762e+16
- 你在最后一位数字内失去了一点精度。 有了这种损失,您随后的floor
操作会返回意外的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.