為什麼python 2f 1 125結果是1 12?

時間 2021-06-08 04:28:26

1樓:許撩撩

奇進偶舍,又稱為四捨六入五成雙規則、銀行進制法(Banker's Rounding),是一種計數保留法,是一種數值修約規則。

從統計學的角度,「奇進偶舍」比「四捨五入」更為精確:在大量運算時,因為捨入後的結果有的變大,有的變小,更使捨入後的結果誤差均值趨於零。而不是像四捨五入那樣逢五就進製,導致結果偏向大數,使得誤差產生積累進而產生系統誤差。

「奇進偶舍」使測量結果受到捨入誤差的影響降到最低。

其具體要求舉例如下(以保留兩位小數為例):

要求保留位數的後一位如果是4,則捨去。例如5.214保留兩位小數為5.21。

如果保留位數的後一位如果是6,則進上去。例如5.216保留兩位小數為5.22。

如果保留位數的後一位如果是5,而且5後面不再有數,要根據應看尾數「5」的前一位決定是捨去還是進入: 如果是奇數則進入,如果是偶數則捨去。例如5.

215保留兩位小數為5.22; 5.225保留兩位小數為5.

22。如果保留位數的後一位如果是5,而且5後面仍有數。例如5.2254保留兩位小數為5.23,也就是說如果5後面還有資料,則無論奇偶都要進入。

按照四捨六入五成雙規則進行數字修約時,也應像四捨五入規則那樣,一次性修約到指定的位數,不可以進行數次修約,否則得到的結果也有可能是錯誤的。

部分引用自:工程計算中為什麼要用奇進偶舍(四捨六入)的修約規則?

2樓:王mike

15. Floating Point Arithmetic: Issues and Limitations

樓上說的差不多,你在互動模式下看到數字,是python優化顯示的比如你的1.125實際儲存的時候可能是1.12499999999,然後顯示的時候四捨五入為1.

25,但是你需要儲存2個精度的時候,第三位是4,捨去就變成1.12了

同理 1.126 儲存的時候可能是1.125999999999也可能是1.1260000000001 但是不管是哪種情況保留2個精度,第三位是5 or 6 都需要進製了

為什麼python中將列表1賦值給列表2後將列表2順序反轉也會影響列表1?

酒罈壇兒 python中的變數本質都是指標變數,儲存的是資料在記憶體中的位址。所以你通過其中乙個變數對資料本身進行任何操作都會直接影響另乙個變數。 Gavin 其實問題的關鍵在於 第一,賦值其實只是複製了物件的引用,並沒有建立新的物件第二,操作物件是乙個可變物件對於ls1 1,2,3,4,5 語句,...

一加5為什麼不用F2FS檔案系統?

執拗無 可能是1 3用的F2fS的核心版本比較舊。導致用久了,效能會下降,系統會在某個時候突然卡一下,可能會有1秒左右。更新到最新版本F2fs應該比較好。 cbzh 3T使用者都想著怎麼轉回ext4,你居然想用f2fs?實際體驗沒有比ext4快,然而每次進rec先卡幾分鐘,就問你樂意不? 漁夫 道理...

韡 為什麼不簡化成 韋華 (U 2E9F5)?

亜恵恵阿由 帶有 韋 跟 華 的部件基本都類推了,只剩下極少量 還有 嬅 所以會覺得沒有類推是特殊的。大多數都類推了只留下一兩個未類推字的確很彆扭。但其實 隨 篝 柬 闌 其實也是未類推的字,只是看慣了。看看這麼想能不能接受。 eisoch 我知道很多朋友都因為名字中有韋華這個字而有了無限的煩惱。在...