計算常常會遇到無法整除出現小數點的情況,『如果取整數,要怎麼取?』
我的直覺,四捨五入!
例如:63.5,63.6、63.7、63.8、63.9,小數點後數字≧5,四捨五入後進位變成64;
63.1、63.2、63.3、63.4,小數點後數字<5,經四捨五入變成63。
不過,我在數字超商發現到這個:
『五捨六入?這是什麼?』我只學過四捨五入。
『四捨五入為什麼是四捨、五入?』請教數學老師。
他告訴我, 『1-9由一半去切,以5做分界,≧5進位,<5捨去。』
『那你有聽過五捨六入嗎?』分享我在超商的發現,再請教:『數學上的幾捨幾入是可以隨意約定?還是有特別的定義或規則?』
可惜他在忙沒聽清楚我的問題,就下了結論(或開玩笑?):『五捨六入對客人比較好,35元算30元。』誤會呀~那樣36元不就算成40元,顧客會虧大。
但如果……將這40元再五捨六入……就變成0元,就免費了耶!(嘿~可惜四捨五入要一次到位,不能這樣!)
******
上網做了點功課,在進行具體的數字運算前,按照一定的規則確定一致的位數,然後捨去某些數字後面多餘的尾數的過程被稱為『數字修約』(或叫做數值簡化),被廣泛使用的數字修約規則主要有四捨五入規則:在需要保留有效數字的位次後一位,逢五就進,逢四就捨。
意外發現,還有一種特別的進位規則,叫作『四捨六入五成雙規則』(Banker's Rounding)。這是因為1-9是九個數字,四捨五入會造成進位一方的機率較大,產生偏高的誤差,為求概率均等,中間值的5,就要特別規定。
(一)當尾數小於或等於4時,直接將尾數捨去。
(二)當尾數大於或等於6時,將尾數捨去並向前一位進位。
(三)當尾數為5,而尾數後面的數字均為0時,應看尾數「5」的前一位:若前一位數字此時為奇數,就應向前進一位;若前一位數字此時為偶數,則應將尾數捨去。數字「0」在此時應被視為偶數。
(四)當尾數為5,而尾數「5」的後面還有任何不是0的數字時,無論前一位在此時為奇數還是偶數,也無論「5」後面不為0的數字在哪一位上,都應向前進一位。
(一)(二)兩項沒問題,但 (三)和(四)的差別有點看不懂,詳細例子請見:數值簡化規則 - 維基百科,自由的百科全書。
不是要做統計、寫程式,只是生活上用來"算錢"。我的想法比較簡單,就是『遇到5就取最接近的偶數』,例如34.5變成34;35.5變成36。
******
數字超商的『五捨六入』並非常用的數字修約規則。 構思這篇文章的時候,經過另一家綠色便利商店,也有折扣優惠,好奇它的計算模式。
居然是『無條件進位』!
找了又找,可惜附近少了一家粉紅色的便利商店,三大家無從比較。消費者越來越精,超商若不標示小數點下怎麼計費,肯定會帶來消費糾紛。
記得小時候還學過無條件捨去法,『怪了~超商折扣時為什麼不乾脆”無條件捨去”?』
顯然,太沒誠意!
延伸閱讀:"四捨五入" 的英文怎麼說? - Sammy 老師來幫大家學英文囉! - Yahoo!奇摩部落格