码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-12-05 20:13:47      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:lib   min   返回   src   微软   lock   art   疑问   ble   

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()

标签:lib   min   返回   src   微软   lock   art   疑问   ble   

原文地址:http://www.cnblogs.com/lxmwb/p/7988913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!