@
python中的四舍五入很詭異,據說有着這樣的規則:“四舍六入五平分”,“五平分”就是根據取舍的位數前的小數奇偶性來判斷,奇偶平分,符合公平性原則(四舍五入不是公平的)。
1 round()方法
內置函數round( x [, n]),如果不給n值返回整數值。(以下代碼基於python3.7)
>>> round(2.685)
3
>>>
>>> round(2.655,2)
2.65
>>> round(2.685,2)
2.69
>>>
2 格式化字符串的方法
2.1 format 格式化函數
很久以前這是我用格式化字符串時的真愛,后面遇見了%運算符后,我就移情別戀了。當然我也忘不了它,它在四舍五入的功能見下面代碼。
>>> "{:.2f}".format(2.655)
'2.65'
>>> "{:.2f}".format(2.685)
'2.69'
2.2 %運算符
%運算符使用起來很是順手哇,不愧是真愛哇!
>>> "%.2f"%2.655
'2.65'
>>> "%.2f"%2.685
'2.68'
3 總結
可能還有其他方法,但是試驗過后,發現結果不僅與取舍的位數前的小數奇偶性有關,還與保留幾位小數有關!想要追求老師教的四舍五入,還是自己寫函數吧,自帶的方法有些與眾不同!