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
posted @ 2017-12-05 19:19  cxccc  阅读(3141)  评论(2编辑  收藏  举报