Funci贸 FormatNumber [VBA]

Returns a string with a number formatting applied to a numeric expression.

warning

Aquesta constant, funci贸 o objecte s'activa mitjan莽ant l'expressi贸 Option VBASupport 1, col路locada abans del codi executable del programa en un m貌dul.


Sintaxi:


        FormatNumber( expression As Variant, [numDigitsAfterDecimal As Integer], [includeLeadingDigit As Integer], _
            [useParensForNegativeNumbers As Integer], [groupDigits As Integer] ) As String
    

Valor de retorn:

String

Par脿metres :

expression: Required. A numeric expression to be formatted. If expression is a string, then the decimal and thousands separator need to be localized.

numDigitsAfterDecimal Opcional. Un valor num猫ric que especifica el nombre de d铆gits que s'han de mostrar despr茅s del decimal. Si s'omet per defecte 茅s el valor -1 que vol dir que s'han d'utilitzar els ajustaments predeterminats per a la configuraci贸 regional de la interf铆cie d'usuari.

inclouLeadingDigit opcional. Un valor d'enumeraci贸 vbTriState que especifica si s'ha de mostrar un zero inicial per a valors fraccionaris.

useParensForNegativeNumbers opcional. Un valor d'enumeraci贸 vbTriState que especifica si els nombres negatius s'han d'encaixar en par猫ntesi.

GrupDigits opcional. Un valor d'enumeraci贸 vbTriState que especifique el nombre s'ha d'agrupar (fins a milers etc.) utilitzant el delimitador de grup que s'especifica a la configuraci贸 regional del sistema.

Codis d'error

13 Els tipus de dades no coincideixen

Exemple :


        Sub TestFormatNumber
        testName = "Test 1: positive, 2 decimals"
        str2 = "12.20"
        str1 = FormatNumber("12.2", 2, vbFalse, vbFalse, vbFalse)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)

        testName = "Test 2: negative, 20 decimals, use leading zero"
        str2 = "-0.20000000000000000000"
        str1 = FormatNumber("-.2", 20, vbTrue, vbFalse, vbFalse)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)

        testName = "Test 3: negative, 20 decimals, no leading zero"
        str2 = "-.20000000000000000000"
        str1 = FormatNumber("-0.2", 20, vbFalse, vbFalse, vbFalse)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)

        testName = "Test 4: negative, no leading zero, use parens"
        str2 = "(.20)"
        str1 = FormatNumber("-0.2", -1, vbFalse, vbTrue, vbFalse)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)

        testName = "Test 5: negative, default leading zero, use parens"
        str2 = "(0.20)"
        str1 = FormatNumber("-0.2", -1, vbUseDefault, vbTrue, vbFalse)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)

        testName = "Test 6: group digits"
        str2 = "-12,345,678.00"
        str1 = FormatNumber("-12345678", -1, vbUseDefault, vbUseDefault, vbTrue)
        msgbox( "FormatNumber returned: " + str1 + ", Expected: " + str2)
        End Sub
    

Ens cal la vostra ajuda!