实际舍入示例
金融计算
货币舍入
from decimal import Decimal, ROUND_HALF_UP
def round_currency(amount):
"""将货币舍入到小数点后两位"""
return Decimal(amount).quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
## 示例交易
prices = [10.456, 25.674, 33.215]
rounded_prices = [round_currency(price) for price in prices]
print(rounded_prices) ## 输出 [10.46, 25.67, 33.22]
税收计算示例
def calculate_total_with_tax(price, tax_rate):
"""计算含舍入后税收的总价"""
tax = round(price * tax_rate, 2)
total = round(price + tax, 2)
return total
## 税收计算
商品价格 = 100.00
税率 = 0.08
总价 = calculate_total_with_tax(商品价格, 税率)
print(f"总价: ${总价}")
科学与数据分析
测量值舍入
import numpy as np
def round_measurements(measurements, precision=2):
"""舍入科学测量值"""
return np.round(measurements, decimals=precision)
## 温度测量值
temperatures = [23.456, 24.789, 22.345]
rounded_temps = round_measurements(temperatures)
print(rounded_temps) ## 输出 [23.46, 24.79, 22.35]
性能指标
graph TD
A[性能中的舍入] --> B[指标计算]
A --> C[统计分析]
A --> D[机器学习]
性能得分舍入
def calculate_performance_score(raw_score):
"""舍入性能得分"""
if raw_score < 0:
return 0
elif raw_score > 100:
return 100
else:
return round(raw_score, 1)
## 性能得分示例
scores = [-5, 85.6789, 102.5]
normalized_scores = [calculate_performance_score(score) for score in scores]
print(normalized_scores) ## 输出 [0, 85.7, 100]
舍入技术比较
场景 |
推荐方法 |
精度 |
金融 |
Decimal 模块 |
精确 |
科学 |
NumPy 舍入 |
可配置 |
一般 |
内置 round() |
简单 |
机器学习预处理
def normalize_features(features, decimal_places=3):
"""归一化并舍入机器学习特征"""
return [round(feature, decimal_places) for feature in features]
## 特征归一化
raw_features = [0.123456, 0.987654, 0.456789]
normalized_features = normalize_features(raw_features)
print(normalized_features) ## 输出 [0.123, 0.988, 0.457]
最佳实践
- 根据上下文选择舍入方法
- 考虑精度要求
- 舍入方法保持一致
- 明确处理边界情况
LabEx 建议理解这些实际示例,以便在 Python 中跨不同领域掌握浮点数舍入。