admin管理员组

文章数量:1531659

2024年7月12日发(作者:)

函数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。

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类来进

行四舍五入的例子:

```python

from decimal import Decimal, ROUND_HALF_UP

value = Decimal('2.5')

result = ze(Decimal('1'), rounding=ROUND_HALF_UP)

print(result)

```

在这里,我首先使用Decimal类将2.5转换为Decimal类型的数据,然后

通过quantize方法指定保留1位小数,并指定采用“银行家舍入法”进行四舍

五入的操作,最后得到了结果2.

本文标签: 函数结果数值进行舍入