我要从SSRS生成一个excel文件,
我想格式化这样的数字......
15显示为15
14.3453453显示为14.35
12.1显示为12.1
0显示为0
1显示为1
我可以在Excel中应用此功能,但无法在SSRS中应用
[= 0] 0; [= 1] 1; 0 ##
有人能为我建议另一种方式吗?谢谢!
答案 0 :(得分:29)
我假设您想知道如何格式化SSRS中的数字
只需right click
要应用格式的TextBox
,请转到expression
。
假设它的表达式如下所示
=Fields!myField.Value
然后这样做
=Format(Fields!myField.Value,"##.##")
或
=Format(Fields!myFields.Value,"00.00")
两者之间的区别在于,前者将4作为4,之后将4作为04.00
这应该会给你一个想法。
另外:您可能需要将字段转换为数字字段。即。
=Format(CDbl(Fields!myFields.Value),"00.00")
so:格式表达式中的0表示当没有数字时,在那里放置0,#表示当没有数字时,保留它。当数字存在时,它们都相同 即。 45.6567对于他们两个都是45.65:
更新:
如果要根据行值在同一列上应用变量格式,即
你希望myField
在没有小数值时没有格式化,但是当它有小数时用双精度格式化,那么你可以通过逻辑来做。 (虽然你不应该这样做)
转到相应的文本框并转到其表达式并执行以下操作:
=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0,
Format(Fields!myField.Value, "##.##"),Fields!myField.Value)
所以基本上你使用的是SSRS的IIF(condition, true,false)
运营商,
你的条件是检查数字是否有十进制值,如果有,你应用格式,如果没有,你按原样使用。
这应该会给你一个想法,如何处理变量格式化。
答案 1 :(得分:13)
您是否尝试使用自定义格式"#,##0.##"
?
答案 2 :(得分:1)
您可以使用
=Format(Fields!myField.Value,"F2")