23

我要从 SSRS 生成一个 excel 文件,然后

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

  • 15 显示为 15

  • 14.3453453 显示为 14.35

  • 12.1 显示为 12.1

  • 0 显示为 0

  • 1 显示为 1

我可以在 Excel 中应用,但无法在 SSRS 中应用

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

ssrs 错误信息

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

4

3 回答 3

37

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

只是right clickTextBox在其上应用格式,转到其expression.

假设它的表达式如下

=Fields!myField.Value

然后这样做

=Format(Fields!myField.Value,"##.##") 

或者

=Format(Fields!myFields.Value,"00.00")

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

这应该给你一个想法。

另外:您可能必须将您的字段转换为数字字段。IE

  =Format(CDbl(Fields!myFields.Value),"00.00")

所以:格式表达式中的0表示,当没有数字存在时,将一个0放在那里,#表示当没有数字存在时,留下它。当数字存在时,它们的工作方式相同,即。45.6567 对他们来说都是 45.65:

更新 :

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

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

=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0, 
    Format(Fields!myField.Value, "##.##"),Fields!myField.Value)

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

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

于 2012-12-27T08:38:38.603 回答
15

您是否尝试过自定义格式"#,##0.##"

于 2013-01-03T12:49:41.960 回答
2

您可以使用

 =Format(Fields!myField.Value,"F2") 
于 2016-10-11T16:14:19.487 回答