首页/开发/软件测试速查/浮点与金额精度处理
用例设计方法62 条

浮点与金额精度处理

浮点数不能精确表示多数十进制小数(0.1 + 0.2 现象);金额与计费场景用最小货币单位或十进制类型,并用舍入用例验证规则。

软件测试速查开发更新于 2026-10-12

现象与处理

现象与处理
# 现象
0.1 + 0.2  # 0.30000000000000004
# 处理(Python)
from decimal import Decimal
Decimal('0.1') + Decimal('0.2')  # Decimal('0.3')
测试舍入:银行家舍入与四舍五入结果不同,需按业务约定断言分位值。

易错点

  • 用浮点相等断言金额结果,出现 0.30000000000000004 类失败
  • 只测整数金额,忽略分币与折扣小数相乘后的舍入边界

数据来源与参考

  • IEEE 754(浮点标准)
  • Python decimal 模块文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌