Python round() 函数

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): 将整数四舍五入为 10
  • round(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

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战