Python 3.x都有,相比之下到Python 2.x中,使用银行家舍入的round()
功能。
这是记录的行为:
如果两个倍数相等接近,则四舍五入取整为偶数选择(例如,round(0.5)和round(-0.5)均为0,而round(1.5)为2)。
由于浮点数本质上仅是近似值,因此如何对待“精确的”半整数无关紧要-前面的计算中总会有舍入误差。
:要获取旧的舍入行为,可以使用
def my_round(x):
return int(x + math.copysign(0.5, x))