You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Python Decimal类乘法运算异常排查求助

自定义Decimal类乘法运算异常排查求助

问题详情

为解决Python浮点计算误差问题,我自行实现了基于科学计数法存储的Decimal类,单元测试阶段结果正常,但集成到LaserOMS项目的财务统计模块时,出现乘法运算错误:

  • 执行 1 × 7.20 时返回 72,不符合预期的 7.20
  • 执行 1 × 13.95 时结果正确

怀疑范围

问题大概率出在以下三个环节:

  • 字符串初始化逻辑
  • 加法运算函数
  • 乘法运算函数

待排查代码片段

已准备好相关代码及测试数据,核心逻辑示例如下:

class Decimal:
    def __init__(self, value_str):
        # 字符串转科学计数法存储的初始化逻辑
        self.sign = ...
        self.coefficient = ...
        self.exponent = ...
    
    def __mul__(self, other):
        # 乘法运算实现
        new_sign = ...
        new_coefficient = ...
        new_exponent = ...
        return Decimal.from_components(new_sign, new_coefficient, new_exponent)

内容的提问来源于stack exchange,提问作者Mapy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 18:52:03