亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python round() 函数详解与实战示例

Python round() 函数详解

round() 内置函数是 Python 数值处理的常用工具。它将数值四舍五入到指定小数位数,未提供精度时默认返回最接近的整数。

语法

round(number, ndigits=None)

返回值

省略 ndigits 时返回 int;提供时返回四舍五入到该精度的 float。

四舍五入规则

为什么四舍五入很重要:真实案例

在金融市场,四舍五入可能影响数百万美元交易。例如 1982 年温哥华证券交易所将交易价格截断到三位小数,导致每月累计损失约 25 点。改用四舍五入能大幅减少偏差。

# 示例:截断 vs 四舍五入
import random

def truncate(num):
    return int(num * 1000) / 1000

arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]

# 截断求和
sum_truncate = 0
for val in arr:
    sum_truncate = truncate(sum_truncate + val)

# 四舍五入求和
sum_round = 0
for val in arr:
    sum_round = round(sum_round + val, 3)

print("Truncated sum:", sum_truncate)
print("Rounded sum:", sum_round)

截断总和可能偏离数百单位,而四舍五入偏差仅几分之一单位。

常见用例

浮点数四舍五入

# 基础四舍五入
print(round(10.60))      # 11
print(round(10.40))      # 10
print(round(10.3456, 2)) # 10.35
print(round(10.3445, 2)) # 10.34

整数四舍五入

print(round(15))  # 15

负数四舍五入

print(round(-2.8))  # -3
print(round(-1.5))  # -2

NumPy 数组四舍五入

import numpy as np
arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323]
print(np.round(arr, 2))  # [-0.34 1.46 4.23 -0.34 7.63 5.12]

使用 Decimal 模块实现高精度控制

decimal 模块提供更精细的舍入模式控制。

import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP))  # 15.46

核心要点

Python

  1. C++ 运算符重载实战指南:语法、方法、限制与代码示例
  2. C++ 函数详解:从声明到调用的实战指南
  3. Python Lambda匿名函数实战指南
  4. Python 生成器:高效迭代与进阶用例
  5. Python 闭包详解:嵌套函数如何捕获变量
  6. 精通 Python 装饰器:专家技巧增强函数
  7. Python print() 函数完全指南:基础用法、空行打印与自定义结束符
  8. Python strip() 方法完全指南:去除首尾空白与自定义字符实战
  9. Python str.count() 完全指南:统计字符与子串出现次数实战
  10. Python format() 字符串格式化完全指南:占位符、格式化规范、类与字典应用
  11. Python 字符串 find() 方法完全指南:语法、参数、替代方案与计数技巧
  12. 精通 Python Lambda 函数:实用示例与最佳实践