我想以印度格式显示金额/货币,即122,030,000为“12,20,30,000.00”。我试过这个解析使用表达式中的自定义格式,如##,##,##,## 0.00,但它不起作用。因为如果我有25000这么大的价值,我会用“,,, 25,000”这样的格式得到它。谁能帮我这个? (我想在ssrs中使用这个表达式)
答案 0 :(得分:0)
我认为你需要使用代码来制作一个特殊格式的字符串。
您需要创建一个循环并检查您的号码以计算逗号的放置位置。
类似的东西:
FUNCTION iMONEY(ByVal MONEY AS STRING) AS STRING 'by Bryan
DIM CHECK AS INTEGER
DIM SEPARATE AS BOOLEAN
CHECK = INSTR(MONEY, ".")
IF CHECK > 0 THEN
iMONEY = MID(MONEY, CHECK, LEN(MONEY))
MONEY = LEFT(MONEY, CHECK - 1)
END IF
FOR CHECK = LEN(MONEY) TO 1 STEP -1
iMONEY = MID(MONEY, CHECK, 1) & iMONEY
IF SEPARATE AND CHECK <> 1 THEN iMONEY = "," & iMONEY
SEPARATE = NOT SEPARATE
NEXT CHECK
END FUNCTION
并称之为:
=CODE.iMONEY("1234567.8901")
=CODE.iMONEY(Fields!YourField.Value)
你会得到:
答案 1 :(得分:0)
通常,报表服务器使用其区域/文化设置的格式,但您可以更改此设置以使用用户的区域/文化设置。
在报告属性上,在“语言”属性中将其设置为:
=User!Language
然后在Format
媒体资料的整个报告中使用standard globalisation formatting codes。在您的示例中,C2
将以用户期望的方式为您提供适当的货币格式。假设用户的文化设置得当,这应该就是您需要做的。