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 中 '/' 就是普通的除,整除是 '//'
我的博客即將搬運同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan