如何在报表生成器中动态设置货币字段的格式?

How can I dynamically format currency fields in report builder?

我有一份报告,我想在其中显示可以多种不同货币表示的各种金额。我的查询为我提供了每个值的货币符号和三个字母的国家代码(例如 GBP 或 USD),但我没有国家 ISO 代码。

如何格式化值表达式以使用正确的货币符号?

我不能简单地将货币符号放在值前面,因为有些值可能是负数,所以我希望减号位于货币符号之前。

我整理了一些自定义代码来执行此操作:

Public Function Currency(ByVal s As String,ByVal a As Double) As String
 Dim r As String
  If a < 0 Then
      r = "(" + s + FORMAT(-1*a,"#,0.00") + ")"
  ElseIf a = 0
      r = "-"
  Else
      r = s + FORMAT(a,"#,0.00")
End If
Return r
End Function

此处我将货币符号作为 s 传递,金额作为 a