SSRS自定义数字格式

K.C*_*K.C 20 number-formatting reporting-services custom-formatting

我将从SSRS生成excel文件,并且

我想格式化这样的数字......

  • 15显示为15

  • 14.3453453显示为14.35

  • 12.1显示为12.1

  • 0显示为0

  • 1显示为1

我可以在Excel中应用此功能但无法在SSRS中应用

[= 0] 0; [= 1] 1; 0 ##

ssrs错误消息

有人能为我建议另一种方式吗?谢谢!

Man*_*hra 32

我假设您想知道如何格式化SSRS中的数字

只要right clickTextBox其上要应用的格式,去它的expression.

假设它的表达式如下所示

=Fields!myField.Value
Run Code Online (Sandbox Code Playgroud)

然后这样做

=Format(Fields!myField.Value,"##.##") 
Run Code Online (Sandbox Code Playgroud)

要么

=Format(Fields!myFields.Value,"00.00")
Run Code Online (Sandbox Code Playgroud)

两者之间的区别在于,前者将4作为4,之后将4作为04.00

这应该给你一个想法.

另外:您可能需要将字段转换为数字字段.即

  =Format(CDbl(Fields!myFields.Value),"00.00")
Run Code Online (Sandbox Code Playgroud)

so:格式表达式中的0表示当没有数字时,在那里放置0,#表示当没有数字时,保留它.当数字存在时,它们都相同.45.6567对于他们两个都是45.65:

更新:

如果你想根据行值在同一列上应用变量格式,即你希望myField在没有十进制值时没有格式化,但是当它有十进制时用双精度格式化,那么你可以通过逻辑来完成.(虽然你不应该这样做)

转到相应的文本框并转到其表达式并执行以下操作:

=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0, 
    Format(Fields!myField.Value, "##.##"),Fields!myField.Value)
Run Code Online (Sandbox Code Playgroud)

所以基本上你是使用IIF(condition, true,false)SSRS的运算符,你的条件是检查数字是否有十进制值,如果有,你应用格式,如果没有,你按原样使用它.

这应该给你一个想法,如何处理变量格式.


小智 15

你尝试过自定义格式"#,##0.##"吗?