PYTHON3 中的虛假四舍五入:round()
阿新 • • 發佈:2017-12-05
back log 兩個 fff lock 12px mil 這不 -s
在使用 round() 的時候,發現 可以發現,有一些數字並沒有真正的四舍五入!
法1: 法2: 還有在 python3 中 ‘/‘ 就是普通的除,整除是 ‘//‘
PYTHON3 中的虛假四舍五入:round()
創建時間: | 2017/12/5 17:08 |
作者: | CN_Simo |
標簽: | python基礎, round, 四舍五入 |
一、這不是一個BUG!
在使用 round() 的時候,發現 可以發現,有一些數字並沒有真正的四舍五入!
這就很疑惑了,查閱資料發現,在python2中這還是正常的。官方文檔中 round() 的說法:【參考鏈接】 這並不是一個BUG! 我還是想不通為什麽 round 要做成這樣的,但毫無疑問這是一個坑!
- python2 中對 round() 的定義為:在 10的負ndigits次方 的倍數 取離 number 最近的數字返回,如果存在兩個倍數離number一樣近,那麽取遠離0的
- python3 中對 round() 的定義為:在 10的負ndigits次方 的倍數 取離 number 最近的數字返回,如果存在兩個倍數離number一樣近,那麽取偶數
二、精確的四舍五入方法總結:【參考鏈接】
法1: 法2: 還有在 python3 中 ‘/‘ 就是普通的除,整除是 ‘//‘
PYTHON3 中的虛假四舍五入:round()