Python四舍五入
1、通常,python四舍五入使用内置的round函数就可以了
>>> round(0.4)
0.0
>>> round(0.5)
1.0

2、然而,对于需要精确的四舍五入,就有问题
>>> round(1.115,2) # no
1.11
>>> round(1.125,2) # yes
1.13

3、原因是,部分小数无法完全用二进制表示

4、再来看一下步骤一的两个数值

5、于是,作为一个较方便的做法,我们可以使用下面方式实现精确的四舍五入:
def round_up(value):
"""四舍五入保留2位小数
:param value:数值
:return:四舍五入后的值
"""
# 替换内置round函数,实现保留2位小数的精确四舍五入
return round(value * 100) / 100.0

6、原理就是将数值放大100倍,以利用下面的精确的四舍五入的结果

7、测试一下:
>>> round_up(1.115)
1.12
>>> round_up(1.125)
1.13

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:186
阅读量:64
阅读量:169
阅读量:89
阅读量:133