【发布时间】:2013-12-09 11:18:04
【问题描述】:
我正在尝试格式化薪水字段,但在格式化时似乎无法显示货币符号。我尝试使用文本框字段格式化程序,然后尝试使用下面的表达式。
当我在输入表达式后重新运行我的报告时,我在输出中得到一个 #ERROR。还有什么我可以尝试的吗?
=Format(Fields!number.Value, "£")
【问题讨论】:
我正在尝试格式化薪水字段,但在格式化时似乎无法显示货币符号。我尝试使用文本框字段格式化程序,然后尝试使用下面的表达式。
当我在输入表达式后重新运行我的报告时,我在输出中得到一个 #ERROR。还有什么我可以尝试的吗?
=Format(Fields!number.Value, "£")
【问题讨论】:
设置文本框格式为C0,即货币为小数点后0位:
这将受到报告 Language 属性的影响 - 设置为 en-GB 表示磅,如您的示例所示:
您还可以设置文本框属性,这也为您提供了在报告语言之外设置符号的选项:
最后,你可以使用如下字符串:
=Format(Fields!number.Value, "C0")
这确实会将字段类型更改为字符串,这与其他选项不同,如果导出到 Excel 则会生效。
【讨论】:
.ToString("C") 和 .ToString("C0") 应该可以工作(假设本地化设置正确,如您所说)。您可以指定格式。但是很好的答案,所以+1 :)
=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") 工作正常。
货币数字格式
=Format(Sum(Fields!MyField.Value), "C")
【讨论】:
感谢您的帮助。我找到了解决我的问题的另一种方法。
我已更改所有格式属性,然后输入以下表达式:
=CDbl(FormatNumber((CDbl(Fields!number.Value)),2))
不是最优雅的解决方案,但它确实有效。
【讨论】: