SSRS报告中用于消除金额的自定义格式

时间:2015-10-08 10:33:57

标签: reporting-services formatting currency-formatting

我想以印度格式显示金额/货币,即122,030,000为“12,20,30,000.00”。我试过这个解析使用表达式中的自定义格式,如##,##,##,## 0.00,但它不起作用。因为如果我有25000这么大的价值,我会用“,,, 25,000”这样的格式得到它。谁能帮我这个? (我想在ssrs中使用这个表达式)

2 个答案:

答案 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)

你会得到:

enter image description here

答案 1 :(得分:0)

通常,报表服务器使用其区域/文化设置的格式,但您可以更改此设置以使用用户的区域/文化设置。

在报告属性上,在“语言”属性中将其设置为:

=User!Language

然后在Format媒体资料的整个报告中使用standard globalisation formatting codes。在您的示例中,C2将以用户期望的方式为您提供适当的货币格式。假设用户的文化设置得当,这应该就是您需要做的。