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

<!-- body, td { font-family: 微软雅黑; font-size: 10pt; -->

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 中 '/' 就是普通的除,整除是 '//'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏desperate633

LintCode 旋转字符串题目分析代码

样例 对于字符串 "abcdefg". offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => ...

772
来自专栏大闲人柴毛毛

剑指 offer代码解析——面试题29数组中出线次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 分析:本题最直观的思路就是分别统计数组中每个数出现的次数,然后求出最大值,判断是否超过...

3296
来自专栏desperate633

LintCode 判断字符串是否没有重复字符题目分析代码

用两种方法,一种借助set没有重复元素的特点,如果add不进去,就说明重复了,就直接returnfalse 第二种方法,设立一个数组,用来判断字符出现的次数,...

552
来自专栏恰同学骚年

《C#图解教程》读书笔记之六:接口和转换

  假设有如下一段代码,它使用Array类的一个静态方法Sort对一个未排序的int类型数组进行排序,并输出排序后的结果。

793
来自专栏lgp20151222

详解Java构造方法为什么不能覆盖,我的钻牛角尖病又犯了....

但是,看了输出,我就纳闷为什么,为什么第三行不是BigEgg2.Yolk(),不能覆盖吗?

1192
来自专栏小俊博客

通过JS显示网站运行时间

1184
来自专栏落花落雨不落叶

简单轮播图实现

27910
来自专栏云霄雨霁

子字符串查找----Boyer-Moore算法(从右向左匹配)

930
来自专栏影子

jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字

3388
来自专栏架构说

leetcode538. 把二叉搜索树转换为累加树

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater

903

扫码关注云+社区