具有基于小数位数的表达式的SSRS格式字段

时间:2018-07-02 20:19:40

标签: reporting-services expression

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

1 个答案:

答案 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提供的其余格式。)