round() 函数打破并返回类型

圆()打破

在 Python 2 中,在一个等于接近两个整数的数字上使用 round()将返回从 0 开始最远的数字。例如:

Python 2.x <= 2.7

round(1.5)  # Out: 2.0
round(0.5)  # Out: 1.0
round(-0.5)  # Out: -1.0
round(-1.5)  # Out: -2.0

然而,在 Python 3 中, round() 将返回偶数整数(也就是银行家的舍入 )。例如:

Python 3.x >= 3.0

round(1.5)  # Out: 2
round(0.5)  # Out: 0
round(-0.5)  # Out: 0
round(-1.5)  # Out: -2

round() 函数遵循 half 到 even 舍入 策略,该策略将中间数字舍入为最接近的偶数(例如,round(2.5) 现在返回 2 而不是 3.0)。

根据维基百科的参考 ,这也称为无偏舍入收敛舍入统计学舍入荷兰舍入高斯舍入奇偶舍入

一半甚至四舍五入是 IEEE 754 标准的一部分,它也是微软 .NET 中的默认舍入模式。

这种舍入策略倾向于减少总舍入误差。由于平均而言,向上舍入的数字量与向下舍入的数字量相同,因此舍入错误会被取消。其他舍入方法则倾向于在平均误差中具有向上或向下偏差。

round() 返回类型

round() 函数在 Python 2.7 中返回 float 类型

Python 2.x <= 2.7

round(4.8)
# 5.0

从 Python 3.0 开始,如果省略第二个参数(位数),则返回 int

Python 3.x >= 3.0

round(4.8)
# 5