函数round的用法
函数round是内置函数中的一种,其作用是将一个数值四舍五入到指定的小数位数。不同编程语言中,round函数可能会存在一些差异,但一般来说,它的输入参数是一个数值,输出结果也是数值类型。
下面针对Python中函数round的用法进行详细阐述:
1. 基本用法
在Python中,函数round的基本用法如下:
```python
round(number, ndigits=None)
```
其中,number参数表示要进行四舍五入的数值,ndigits表示要保留的小数位数。当ndigits为None时,表示不进行小数位数的调整,直接对数值进行四舍五入操作。例如:
```python
>>> round(2.75)
3
>>> round(2.25)
2
```
在上述的例子中,2.75和2.25经过round函数的处理,分别被四舍五入为了3和2。
如果指定了ndigits参数的值,则可以将数值保留到指定的小数位数。例如:
```python
>>> round(2.753, 2)
2.75
>>> round(2.256, 2)
2.26
```
在这里,第一个例子中,对于2.753这个数值,我们指定了ndigits为2,将其保留到了小数点后两位,所以经过round函数的处理后结果为2.75。同理,第二个例子中,2.256经过round处理后结果为2.26。
需要注意的是,当小数点后第ndigits+1位大于等于5时,会对第ndigits位进行进位处理。例如:
```python
>>> round(2.755, 2)
2.76
>>> round(2.256, 1)
2.3
```
在这里,2.755保留两位小数时,小数点后第三个数是5,所以第二位会进位,经过round处理后结果为2.76。同理,2.256的第二位数字5也会进位,将其保留到一位小数后就变成了2.3。
round函数有几个参数2. 负数的处理
对于负数的处理,round同样也可以为我们完成四舍五入的操作。例如:
```python
>>> round(-2.755, 2)
-2.76
>>> round(-2.256, 1)
-
2.3
```
在这里,对于负数来说,进位的判定和正数是相同的,只是结果会变成负数。
需要注意的是,当数值的小数位数超过指定位数时,保留的位数会被截断。例如:
```python
>>> round(1234.567, 2)
1234.57
>>> round(1234.567, 1)
1234.6
```
在这里,1234.567保留两位小数时,结果是1234.57,但是保留一位小数时,结果是1234.6,这是因为小数位数不足而导致的结果截断。
3. Python3舍入规则变化
需要注意的是,在Python3中,round函数的舍入规则发生了一些变化。在Python2中的round函数默认采用的舍入规则是“银行家舍入法”,而在Python3中则采用的是“四舍六入五成双”的舍入规则。
所谓“四舍六入五成双”,指的是小数点后第ndigits+1位数字为5时,应根据ndigits后面的数字判断是否进位。如果ndigits后面的数字是偶数,就应该将ndigits位舍去;如果ndigits后面的数字是奇数,就应该将ndigits位进位。
例如:
```python
>>> round(1.25, 1)
1.2
>>> round(1.35, 1)
1.4
>>> round(1.25, 0)
1
>>> round(2.5, 0)
2
```
在这里,1.25保留一位小数时,ndigits后面的数字是5,所以根据“四舍六入五成双”的规则,应该判断ndigits位后面的数字是偶数,所以舍去ndigits位,结果为1.2;同理,1.35的结果是1.4,2.5的结果是2。
需要注意的是,如果要按照“银行家舍入法”的规则进行四舍五入,需要使用Python中的Decimal类来实现。例如,以下代码就是使用Decimal类来进行四舍五入的例子:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论