Python中round函数的小数舍入规则和精度控制
在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”表示保留两位小数。需要注意的是,这种方式并不是四舍五入,而是直接截取指定位数的小数。
相关文章