如何使用ssrs删除尾随零?

时间:2014-11-30 12:05:20

标签: reporting-services

我有一个专栏DECIMAL(18,4)。当我插入像 123.45 这样的数据时,它变为 123.4500 我想在SSRS中显示它,如123.45。 如何删除SSRS中的那些零?

7 个答案:

答案 0 :(得分:3)

根据您需要的导出格式,您可以将数字格式设置为0.####;(0.####)

我知道这与SSRS查看器兼容并导出为PDF,但Excel将123.0000显示为123.,而不仅仅是123

答案 1 :(得分:1)

我不同意接受的答案,转换为字符串是另一种解决方法:

=Str(NumericValueWithVariableDecimalPlaces)

不幸的是,结果是没有应用数字格式设置,并且设置单元格对齐导致数字未对齐。

答案 2 :(得分:0)

您可以将返回SSRS的数据类型更改为FLOAT。应该这样做: - )

答案 3 :(得分:0)

打开 SSRS查询设计器并添加:

SELECT CONVERT(DOUBLE PERCISION,FIELD) FROM TABLE SOURCE

enter image description here

或从存储过程源中添加到选择的结果中

SELECT CONVERT(DOUBLE PERCISION,FIELD) FROM TABLE SOURCE

答案 4 :(得分:0)

这将删除尾随零:CDbl(Fields!YOURFIELD.Value)

答案 5 :(得分:-1)

这可以在SQL中完成,您可以通过将值转换为DECIMAL(18,2)来完成

ex:
  CAST(FieldName as DECIMAL(18,2))

但是如果你真的想在SSRS中做到这一点。您可以右键单击该字段显示的文本框,然后转到文本框属性。在弹出框中选择“数字”并将“类别”设置为“数字”,然后将小数位设置为2.这应该正确显示该值。

你也可以右键单击文本框并转到表达式并在表达式弹出框中说出这个:

   =FormatNumber(Fields!FieldName.Value,2)

答案 6 :(得分:-1)

我尝试找到解决方案:

我使用Expression for value:

 =IIf(IsNothing(Fields!FieldName.Value), "", IIf(IsNothing(Fields!FieldName.Value), "-", CInt(Fields!FieldName.Value * 10000) / 10000))