问题代码位于折扣格式化函数中:异常版本在 regression 分支使用 value!.toFixed(2),当折扣字段缺失时 value 是 undefined,调用 toFixed 就会报错。TypeScript 的 ! 非空断言只是编译期约束,运行时不会替代码补上空值检查。正确修复方式是先将缺失值替换为默认值再格式化:(value ?? 0).toFixed(2)。业务语义上把缺失折扣视为无折扣(按 0 处理),既恢复功能又不改变展示逻辑。由于该函数被商品详情页的 ProductOffer 和结算页的 OrderSummary 共用,修复应落在共享的格式化函数上,同时检查两个业务区域的展示是否正常。




