math.floor()和//产生不同的结果

时间:2020-04-11 03:48:26

标签: python python-3.x math

在Python3.4中,我希望操作math.floor()//会产生相同的结果。他们没有。

import math

n=20844627638611523
print (math.floor(n/2))
print (n//2)

打印:

10422313819305762
10422313819305761

为什么?

1 个答案:

答案 0 :(得分:1)

问题出在您的表达式n / 2中。这将返回浮点数script = 'var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; return performance.getEntries().filter(e=>e.initiatorType=="xmlhttprequest")' browser.execute_script(script) -您在最后一位数字内损失了一些精度。由于这种损失,您随后的1.0422313819305762e+16操作将返回意外结果。