SSRS 格式字段,其表达式基于小数位数



我在 SSRS 报告中有一个字段,偶尔包含小数位。大多数时候,我想用"n0"格式化字段,以便每三位得到一个漂亮的逗号,但没有小数位。但是,在极少数有小数的情况下,我想格式化字段"n4"。如何编写表达式来检测小数是否存在?

最后想出了一种方法,将以下表达式放在 Format 属性中:

=iif(Int(Fields!QTY.Value) = Fields!QTY.Value, "N0", "N4")

(注意:我找到了一个 MSDN 页面,其中包含针对相同类型问题的不同解决方案 https://social.msdn.microsoft.com/forums/sqlserver/en-US/cb81d817-9840-4b4f-9639-1acd48963ff6/how-do-i-format-decimal-places-to-0-or-2-decimal-places。该解决方案直接格式化了值:

=Replace(Round(Fields!QTY.Value,2),".00","")

它适用于各种各样的问题。但是,出于我的目的,我使用了格式表达式,因为我想要 N0 和 N4 提供的其余格式。

最新更新