1. 程式人生 > >PYTHON3 中的虛假四舍五入:round()

PYTHON3 中的虛假四舍五入:round()

back log 兩個 fff lock 12px mil 這不 -s

PYTHON3 中的虛假四舍五入:round()

創建時間: 2017/12/5 17:08
作者: CN_Simo
標簽: python基礎, round, 四舍五入

一、這不是一個BUG!



在使用 round() 的時候,發現 技術分享圖片 可以發現,有一些數字並沒有真正的四舍五入!
這就很疑惑了,查閱資料發現,在python2中這還是正常的。
  • python2 中對 round() 的定義為:在 10的負ndigits次方 的倍數 取離 number 最近的數字返回,如果存在兩個倍數離number一樣近,那麽取遠離0的

  • python3 中對 round() 的定義為:在 10的負ndigits次方 的倍數 取離 number 最近的數字返回,如果存在兩個倍數離number一樣近,那麽取偶數
官方文檔中 round() 的說法:【參考鏈接】 技術分享圖片 這並不是一個BUG! 我還是想不通為什麽 round 要做成這樣的,但毫無疑問這是一個坑!

二、精確的四舍五入方法總結:【參考鏈接】



法1: 技術分享圖片 法2: 技術分享圖片 還有在 python3 中 ‘/‘ 就是普通的除,整除是 ‘//‘

PYTHON3 中的虛假四舍五入:round()