Excel和Python之间的计算结果不同

时间:2017-08-29 13:57:36

标签: python-2.7 excel-formula

我对Python很陌生,所以很可能会遗漏一些细微差别,但我无法理解为什么以下计算产生不同的值:

n: 0.00167322032899

Excel中

(15 / 8) * n ^ 2
5.24937425502263E-06

的Python

(15/8) * n ** 2
2.79966626935e-06

我已尝试使用括号使用复制Python的Excel结果,但无济于事。有什么指导吗?

3 个答案:

答案 0 :(得分:9)

默认情况下,Python 2.x中的除法是整数除法。

>>> (15. / 8) * 0.00167322032899 ** 2
5.2493742550226314e-06
>>> from __future__ import division
>>> (15 / 8) * 0.00167322032899 ** 2
5.2493742550226314e-06

答案 1 :(得分:4)

在python中,15/8等于1,而在Excel中,它等于1.875。 Python 2将15和8视为整数,因此执行整数除法。你可以尝试:

(15.0/8) * n ** 2(15/8.0) * n ** 2会给你5.249374255022632e-06

答案 2 :(得分:3)

在Python(python2)中执行15 / 8会进行整数除法。因此,您得到1,而Excel会将其评估为1.875

我假设你想要一个分数,所以在python中使用15.0 / 8(或15 / 8.015.0 / 8.0)来强制分数而不是整数除法