我要从 SSRS 生成一个 excel 文件,然后
我想像这样格式化数字...
15 显示为 15
14.3453453 显示为 14.35
12.1 显示为 12.1
0 显示为 0
1 显示为 1
我可以在 Excel 中应用,但无法在 SSRS 中应用
[=0]0;[=1]1;0.##
有人可以为我建议另一种方式吗?谢谢!
我要从 SSRS 生成一个 excel 文件,然后
我想像这样格式化数字...
15 显示为 15
14.3453453 显示为 14.35
12.1 显示为 12.1
0 显示为 0
1 显示为 1
我可以在 Excel 中应用,但无法在 SSRS 中应用
[=0]0;[=1]1;0.##
有人可以为我建议另一种方式吗?谢谢!
我假设您想知道如何在 SSRS 中格式化数字
只是right click
要TextBox
在其上应用格式,转到其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 的操作符,你的条件是检查数字是否有十进制值,如果有,你应用格式,如果没有,你让它保持原样。
这应该给你一个想法,如何处理变量格式。
您是否尝试过自定义格式"#,##0.##"
?
您可以使用
=Format(Fields!myField.Value,"F2")