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

RDLC报表小数求和运算输出错误结果问题咨询

错误原因

  • 数值转换受系统区域配置影响:如果你的报表运行环境的区域设置中,小数点为逗号,、千分符为点.,10.5会被CDbl函数识别为105,20.5识别为205,求和后刚好得到310的错误结果
  • 原表达式逻辑有瑕疵:IIf判断的两个返回值类型不统一(符合USD条件时返回格式化字符串,不符合时返回数字0),可能触发隐式转换异常;空值处理的容错性也不足

修复方案

  1. 可选:统一报表运行环境的区域配置,将小数点设置为.,从底层避免数值识别偏差
  2. 直接修改表达式:用不受区域配置影响的Val函数替换CDbl,Val默认以.作为小数点识别符,不会出现上述识别错误,同时统一返回值的类型为格式化字符串

修正后代码

=IFF(Fields!CURRENCY.Value = "USD" , FormatNumber(Sum(Val(Iff(Fields!AMOUNT.Value = "","0", Fields!AMOUNT.Value))),2), "0.00")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:15:04