round函数总结成一句话:【一种特殊的四舍五入函数,口诀:四舍六入五成双】
基本语法:
可接受两个参数:要四舍五入的数字和一个可选的精度参数(默认为0,表示四舍五入到最接近的整数)
round(number[, ndigits])
number
:要四舍五入的数字。ndigits
(可选):要保留的小数位数。如果省略,默认为0,即四舍五入到最接近的整数。
先看一看口诀什么详细含义:在数据处理和数值计算中,四舍五入是一种常见的舍入方法。但在金融和统计领域等特殊场景下,为了减小舍入误差的累积,通常会采用了一种更为精细的舍入规则,即“四舍六入五成双”。这个规则的具体内容是:
- 四舍:尾数为4(包括4以下的数字)的时候直接舍去;
- 六入:尾数为6(包括6以上的数字)的时候进一位;
- 五成双:尾数为5时,看5的前一位,如果是奇数则进位,如果是偶数则舍去,即让结果末尾数字成为偶数。
-
#当round()函数只传入一个参数时,即表示要处理的数据,默认直接处理到整数位置 #先来看一下四种情况分别的结果 print(round(3.2)) #输出结果为3,小数部分正常四舍五入 print(round(3.6)) #输出结果为4,小数部分正常四舍五入 #输出结果为4,小数部分末尾为5,看前一位的奇偶性,3为奇数,进位 print(round(3.5)) #输出结果为4 #输出结果为4,小数部分末尾为5,看前一位的奇偶性,2为偶数,不进位 print(round(2.5)) #输出结果为2
其他简单例子
- 1.四舍五入到整数
-
result = round(3.14159) print(result) # 输出: 3
- 2.四舍五入到指定的小数位数
3.四舍五入到负的小数位数result = round(3.14159,2) print(result) # 输出: 3.14
-
#3141.59被四舍五入到了最接近的百位数,即3100。 #注意结果是一个浮点数,因为Python的round函数总是返回一个浮点数,除非结果被直接用作整数上下文(例如赋值给整数变量)。 result = round(3141.59, -2) print(result) # 输出: 3100.0
- 处理负数时的四舍五入(仍旧满足口诀:四舍六入五成双)
-
print(round(-2.4)) #输出-2 print(round(-2.6)) #输出-3 result = round(-2.5) print(result) # 输出: -2 result = round(-3.5) print(result) #输出:-4
注意事项
- 当
ndigits
为负数时,round
函数会对数字进行四舍五入到指定的“十位”、“百位”等位置。 - Python的
round
函数在处理某些边界情况时可能会与某些数学规则或其他编程语言中的round
函数有所不同,特别是在处理.5这种边界值时。但根据Python的文档,它遵循的是“银行家舍入”(Bankers' rounding)规则,即当数字正好在两个整数的中间时,舍入到最近的偶数整数(尽管这个规则在ndigits
为正数且数字末位为5时并不总是明显,因为大多数情况下5会被进位或舍去,而不是考虑其前面的数字)。然而,在简单的四舍五入场景中,这个规则通常不会影响到结果。