【发布时间】:2017-12-14 17:34:35
【问题描述】:
Python 的 round() 在面对 x.5 数字时似乎总是四舍五入:
print round(1.5),round(2.5),round(3.5),round(4.5)
>>> 2.0 3.0 4.0 5.0
但是numpy.round()好像不一致:
import numpy as np
print np.round(1.5),np.round(2.5),np.round(3.5),np.round(4.5)
>>> 2.0 2.0 4.0 4.0
这可能会在某些情况下引入错误。这是一个错误还是我错过了什么?
【问题讨论】:
-
为了更快的二进制计算,它会四舍五入到最接近的偶数。
-
值得注意的是,这种行为在 Python 2 和 Python 3 之间发生了变化; Python 3 的行为与此处的 NumPy 相同。
-
@Mikael:我认为速度与它无关。
标签: python python-2.7 numpy rounding