我在SSRS报告中有一个字段,偶尔包含小数位。在大多数情况下,我想使用“ n0”格式化字段,以便每三位数得到一个漂亮的逗号,但没有小数位。但是,在极少数情况下有小数的情况下,我想格式化字段“ n4”。如何编写表达式以检测小数是否存在?
答案 0 :(得分:0)
最后通过在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提供的其余格式。)