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