Python中round函数的小数舍入规则和精度控制

2023-04-01 00:00:00 函数 小数 精度

在Python中,round()函数是用来对数字进行四舍五入的。它的基本语法如下:

round(number[, ndigits])

其中,number是要进行四舍五入的数字,ndigits是小数点后保留的位数。如果省略ndigits,则默认为0,即对整数进行四舍五入。如果ndigits为负数,则表示要对整数部分进行四舍五入。如果ndigits为正数,则表示要保留的小数位数。

下面是一些示例:

>>> round(3.14159)
3
>>> round(3.14159, 2)
3.14
>>> round(3.14159, -1)
0.0
>>> round(12345, -2)
12300

需要注意的是,Python中的四舍五入采用的是“银行家舍入法”(Bankers’ rounding),也就是说,如果要舍弃的数字恰好等于5,且舍弃后的数字为偶数,则舍弃前面的数字时采用偶数的规则(即保留偶数),否则采用奇数的规则(即保留奇数)。

比如:

>>> round(2.5)
2
>>> round(3.5)
4
>>> round(4.5)
4
>>> round(5.5)
6

如果要控制精度,可以使用格式化字符串来进行控制。比如:

>>> '{:.2f}'.format(3.14159)
'3.14'

这里的“.2f”表示保留两位小数。需要注意的是,这种方式并不是四舍五入,而是直接截取指定位数的小数。

相关文章