round函数

2019年9月4日 / 19次阅读 / Last Modified 2019年9月4日
内置函数

Python内置的round函数,用来取小数点后N位,还是很方便的。但是要注意,round函数执行的不是四舍五入。请参考:Python实现四舍五入的方法

看代码吧,要注意round函数在去小数点后N位时,N可以是负数:

>>> round(0.123456)
>>> 0  # integer type
>>> round(0.123456, 1)
0.1
>>> round(0.123456, 2)
0.12
>>> round(0.123456, 3)
0.123
>>> round(0.123456, 4)
0.1235
>>> round(0.123456, 5)
0.12346
>>>
>>> round(123456.12, -1)
123460.0
>>> round(123456.12, -2)
123500.0
>>> round(123456.12, -3)
123000.0
>>> round(123456.12, -4)
120000.0
>>> round(123456.12, -5)
100000.0
>>> round(123456.12, -6)
0.0
>>> round(123456.12, -7)
0.0

当第2个参数为负数时,舍入发生在小数点的左边。没有第2个参数的时候,round函数返回的是int类型。

round函数的舍入,执行的是银行家舍入法,英文交HALF EVEN。

HALF EVEN的规则是:向最近的数据舍入,如果这个数字距离两边相等,取偶数。

>>> round(1.5)
2
>>> round(2.5)
2
>>> round(1.265,2)
1.26
>>> round(1.275,2)
1.27

1.265和1.275,在取小数点后两位的时候,不是1.27以及1.28,这不是错误。因为二进制的计算机本就不能精确表示十进制的小数。

在严格要求小数的四舍五入的场景下,不能使用round函数,如果要求不严格,只是要求取一个近似值,round函数就OK了,因为它使用起来最简单。

-- EOF --

本文链接:https://www.pynote.net/archives/1055

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top