我在SSRS报告中有一列,应以货币格式显示。从数据集中返回的数据为字符串数据类型,并且还包含连字符(“-”)。
我正在使用以下表达式。
=IIF(Fields!PREMIUM.Value="-","-",CDbl(Fields!PREMIUM.Value))
我的意图是,如果值是“-”,则忽略它,否则将字符串值转换为double。
注意:文本框属性已设置为货币格式。
如果除“-”以外的任何其他值,则表达式有效。
答案 0 :(得分:0)
正如您所说,问题与数据库何时返回破折号有关。发生错误是因为当您将文本框设置为货币格式时,SSRS无法处理破折号。最好的解决方案是将文本框保留为默认格式,并根据需要修改表达式以设置值的格式。类似以下内容可以解决该问题。如果您需要更长的号码,只需添加更多#
。
=IIF(Fields!PREMIUM.Value="-","-",Format(CDbl(Fields!PREMIUM.Value)), "$#######.##")