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