2017-10-18 88 views
0

我有我正在运行将结束这样SSRS格式自定义数字

100.00 
99.98 
98.80 
100.00 

我有一个自定义格式设置,我想在100秒后去除小数,并保持所有值的报告其他小数位。这里是我的表达

=IIF(Fields!Field1.Value Is "100.00", "100", Fields!Field1.Value) 

此作品为100,但98.80后删除0。这是我最终的结果。

100 
99.98 
98.8 
100 

有没有办法不删除单尾0?

+0

您是否尝试过使用轮功能? - 四舍五入到小数点后两位 –

+0

看看https://stackoverflow.com/questions/21187573/ssrs-expression-to-format-two-decimal-places-does-not-show-zeros –

+0

@John我累了并没有得到任何这些例子的工作。然而,我没有试图用条件语句 – maltman

回答

3

我会独自LEAV醚:值表达式,只要让这是实地价值。

我会在单元格/文本框的格式表达式中进行此操作。所以格式表达式就像这样。

=IIF(Fields!Field1.Value = 100, "f0", "f2") 

这假定您的数据是数字。

+0

谢谢艾伦。这工作。那么f0在做什么? – maltman

+0

''f''格式化一个数字'没有千分隔符'和格式为0的小数位。 f2与2位小数相同。你也可以使用n0,n1,n2等...''n''格式'千分隔符',例如'1234.1234'格式化为'n2'会给出'1,234.12'(假设逗号是locales千位分隔符) –

0

= IIF(领域!Field1.Value为 “100.00”, “100”,格式(字段!Field1.Value, “## ##”))

+0

这似乎搞乱了数据。这一个让他们保持相同的格式,但仍然留下尾部0. = IIF(Fields!Field1.Value是“100.00”,“100”,FormatNumber(Fields!Field1.Value,“##。##”))。我应该做一些其他事情,因为这应该工作。 – maltman