SSRS格式化字符串为逗号数字

4

我在SSRS的一个字段中有以下数值:

=CStr(Fields!Shipment_Weight.Value) + "#"

我这么做是因为我需要在末尾加上#(井号)符号。现在这个方法无法让我将数字格式化成像1,000这样的形式,它只给我返回了1000。由于这是一个字符串,是否有一种方法可以在代码中添加逗号而不是在格式框中添加?值都在1-1000000000之间不等。

谢谢!

3个回答

8
我找到了答案,如下所示:
=CStr(FORMAT(Fields!Shipment_Weight.Value,"N0")) + "#"

那就是您在不必将格式代码放入格式属性框中的情况下使用格式化代码的方式。

3

从SSRS 2008 R2开始,可以使用FormatNumber()来实现此操作,如下所示:

=FormatNumber(Sum(Fields!GrossSales.Value),0)

智能感知显示以下定义:

FormatNumber(
   Expression As Object,    
   Optional NumDigitsAfterDecimal as Int32,
   Optional IncludeLeadingDigit as TriState,
   Optional UseParensForNegativeNumbers as TriState,
   Optional GroupDigits as TriState
) As String

你可以在末尾添加“#”:
=FormatNumber(Sum(Fields!GrossSales.Value),0) & "#"

在表达式编辑器中,也可以在常规函数->文本下找到以下内容:

  • FormatCurrency()(格式化货币)
  • FormatDateTime()(格式化日期时间)
  • FormatPercent()(格式化百分比)

2
我相信上面的方法可以解决问题,我一直使用下面的方法,参考自MSDN。
=CSTR(FORMAT(Fields!Shipment_Weight.Value,"#,#")) & "#"

关于字符串格式化的MSDN文章


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接