PYTHON3 中的虚假四舍五入:round()
Posted CN_Simo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PYTHON3 中的虚假四舍五入:round()相关的知识,希望对你有一定的参考价值。
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
以上是关于PYTHON3 中的虚假四舍五入:round()的主要内容,如果未能解决你的问题,请参考以下文章