再見 “四捨五入”,你好 “奇進偶舍” !

再見 “四捨五入”,你好 “奇進偶舍” !

四捨五入經常出現在我們的生活中。一直以來,在以往的科學計算中我們通常使用四捨五入對浮點數(小數)做小數點後位數保留,逢五就進一,其實呢,這種舍入方法是比較“粗獷”的,如果銀行等金融領域使用這種舍入方法,那儲戶們可能就會出現一家歡喜一家愁的情況,完全亂套了。

在很多科學計算裡大家都習慣性的把round函數叫做四捨五入,其實有一種叫法更科學,更貼切:奇進偶舍 。下面我們用Python的round()函數詳細的分析說明下,實例代碼:

再見 “四捨五入”,你好 “奇進偶舍” !

這樣我們就能得出一個結論:奇進偶舍

注意:以“個位數”的奇偶性做為參考點的。

如果小數點左邊個位數為偶數時,小數點右邊第一位數>=6則進位,<6時則捨去

如果小數點左邊個位數為奇數時,小數點右邊第一位數>=5則進位,<5時則捨去

我們接著往下看,以保留1位數為例,實例代碼:

再見 “四捨五入”,你好 “奇進偶舍” !

我們很容易得出一個結論:

如果保留位的後一位>=6 則進位;否則捨去

再見 “四捨五入”,你好 “奇進偶舍” !

我們又得出一個結論:

如果保留位的後一位>=5,且該位數後還有數字,則進位;否則捨去

我們再看看保留兩位數的情況:

再見 “四捨五入”,你好 “奇進偶舍” !

總結一下:“奇進偶舍”比“四捨五入”在科學計算中更準確,它舍入後的結果誤差均值趨於零,而四捨五入則是逢五則入,如果大量數據採用四捨五入會造成統計結果偏大;

奇進偶舍,又稱為四捨六入五成雙規則、銀行進位法(Banker's Rounding)

,是一種計數保留法;在數值修約規則裡很早就用“四捨六入五成雙” 取代了“四捨五入”.

那麼以後我們在Python中使用round函數時,就叫它奇進偶舍函數吧。當然了,其它的編程語言也一樣哦!

再見 “四捨五入”,你好 “奇進偶舍” !

OK,今天我們就聊到這裡了。如果您有什麼問題,請在評論區留言,我會及時回覆,感謝!


分享到:


相關文章: