round()
函数用于四舍五入一个数字。
示例
number = 13.46
# round 13.46 to the nearest integer
rounded_number = round(number)
print(rounded_number)
# Output: 13
round() 语法
round(number, ndigits)
round() 参数
round()
函数接受两个参数
- number - 要进行四舍五入的数字。
- ndigits (可选) - 给定数字四舍五入到的小数位数;默认为 0。
round() 返回值
round()
函数返回
- 如果未提供
ndigits
,则返回最接近给定数字的整数 - 如果提供了
ndigits
,则返回四舍五入到ndigits
位数的数字
示例 1:Python 中 round() 如何工作?
# for integers
print(round(10))
# for floating point
print(round(10.7))
# even choice
print(round(5.5))
输出
10 11 6
这里,
round(10)
: 将整数四舍五入为 10round(10.7)
: 将浮点数 10.7 四舍五入为最接近的整数 11。round(5.5)
: 将浮点数 5.5 四舍五入为 6。
示例 2:将数字四舍五入到给定的小数位数
print(round(2.665, 2))
print(round(2.675, 2))
输出
2.67 2.67
当小数 2.675 转换为二进制浮点数时,它再次被二进制近似值替换,其精确值为
2.67499999999999982236431605997495353221893310546875
因此,它被四舍五入为 2.67。
注意:round()
对浮点数的行为可能令人惊讶。请注意 round(2.675, 2)
返回 2.67 而不是预期的 2.68。这不是一个错误:这是因为大多数十进制分数不能精确地表示为浮点数。
如果您需要这种精度,请考虑使用专为浮点运算设计的 decimal
模块
from decimal import Decimal
# normal float
num = 2.675
print(round(num, 2))
# using decimal.Decimal (passed float as string for precision)
num = Decimal('2.675')
print(round(num, 2))
输出
2.67 2.68
另请阅读