前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PYTHON3 中的虚假四舍五入:round()

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

作者头像
CN_Simo
发布2018-07-31 15:44:14
5320
发布2018-07-31 15:44:14
举报
文章被收录于专栏:Script Boy (CN-SIMO)

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PYTHON3 中的虚假四舍五入:round()
  • 一、这不是一个BUG!
  • 二、精确的四舍五入方法总结:【参考链接】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档