【问题标题】:formatting fields to show currency in SSRS格式化字段以在 SSRS 中显示货币
【发布时间】:2013-12-09 11:18:04
【问题描述】:

我正在尝试格式化薪水字段,但在格式化时似乎无法显示货币符号。我尝试使用文本框字段格式化程序,然后尝试使用下面的表达式。

当我在输入表达式后重新运行我的报告时,我在输出中得到一个 #ERROR。还有什么我可以尝试的吗?

=Format(Fields!number.Value, "£")

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    设置文本框格式为C0,即货币为小数点后0位:

    这将受到报告 Language 属性的影响 - 设置为 en-GB 表示磅,如您的示例所示:

    您还可以设置文本框属性,这也为您提供了在报告语言之外设置符号的选项:

    最后,你可以使用如下字符串:

    =Format(Fields!number.Value, "C0")
    

    这确实会将字段类型更改为字符串,这与其他选项不同,如果导出到 Excel 则会生效。

    【讨论】:

    • 谢谢...如果我将其转换为字符串,我不能使用“.ToString”函数吗?
    • .ToString("C").ToString("C0") 应该可以工作(假设本地化设置正确,如您所说)。您可以指定格式。但是很好的答案,所以+1 :)
    • 嗨,@Sam。似乎是一个公平的假设,但在我的示例数据 =Fields!number.Value.ToString("C0") 上为我显示 #Error 并带有运行时错误 Input String was not in a correct format (SSRS 2008)。诚然,相当小的测试。
    • 我昨天做的小测试是123.56.ToString("C0")(当它起作用时,我真的很惊讶)。
    • 刚刚检查过,=CDbl(Fields!number.Value).ToString("C0") 工作正常。
    【解决方案2】:

    货币数字格式

      =Format(Sum(Fields!MyField.Value), "C")
    

    【讨论】:

      【解决方案3】:

      感谢您的帮助。我找到了解决我的问题的另一种方法。

      我已更改所有格式属性,然后输入以下表达式:

      =CDbl(FormatNumber((CDbl(Fields!number.Value)),2))

      不是最优雅的解决方案,但它确实有效。

      【讨论】:

        猜你喜欢
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多