Reporting services SSRS报告中取消播放金额的自定义格式

Reporting services SSRS报告中取消播放金额的自定义格式,reporting-services,formatting,currency-formatting,Reporting Services,Formatting,Currency Formatting,我想将122030000的印度格式金额/货币显示为“12,20,30000.00”。我尝试在表达式中使用自定义格式(如##,##,##,##,##,##0.00)来解决此问题,但它不起作用。因为如果我的值很小,比如25000,我会得到“,,25000”这样的格式。有人能帮我吗?(我想在ssrs中使用这个表达式)我认为您需要使用代码以您的特殊格式生成字符串 您需要创建一个循环并检查数字,以计算逗号的位置 比如: FUNCTION iMONEY(ByVal MONEY AS STRING) AS S

我想将122030000的印度格式金额/货币显示为“12,20,30000.00”。我尝试在表达式中使用自定义格式(如##,##,##,##,##,##0.00)来解决此问题,但它不起作用。因为如果我的值很小,比如25000,我会得到“,,25000”这样的格式。有人能帮我吗?(我想在ssrs中使用这个表达式)

我认为您需要使用代码以您的特殊格式生成字符串

您需要创建一个循环并检查数字,以计算逗号的位置

比如:

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
您将得到:


我认为您需要使用代码以特殊格式生成字符串

您需要创建一个循环并检查数字,以计算逗号的位置

比如:

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
您将得到:


通常情况下,报表服务器使用其区域/区域设置的格式,但您可以将其更改为使用用户的区域/区域设置

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

=User!Language

然后在整个报告中使用
格式
属性。在您的示例中,
C2
将以用户希望看到的方式为您提供适当的货币格式。假设用户有适当的文化设置,这应该是您需要做的全部工作

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

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

=User!Language
然后在整个报告中使用
格式
属性。在您的示例中,
C2
将以用户希望看到的方式为您提供适当的货币格式。假设用户有适当的文化设置,这应该是您需要做的全部工作