Contingut
Índex 🔎︎

# Funció FormatNumber [VBA]

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

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, numDigitsAfterDecimal as Integer, includeLeadingDigit as Integer, useParensForNegativeNumbers as Integer, groupDigits as Integer )

### Valor de retorn:

String

### Paràmetres:

expression: Required. The numeric expression to be formatted.

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.

- vbTrue o -1 mostra un zero inicial.

- vbFalse o 0 no mostren zeros inicials.

- vbUseDefaults o -2 Usa la configuració regional de la interfície d'usuari. Aquesta és la configuració predeterminada quan s'omet.

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

- vbTrue o -1 Usa parèntesis per a nombres negatius.

- vbFalse o 0 no mostren parèntesis.

- vbUseDefaults o -2 Igual que vbFalse. Aquest és el valor predeterminat quan s'omet.

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

- vbTrue or -1: Group digits.

- vbFalse o 0 No agrupa els dígits.

- vbUseDefaults o -2 Igual que vbFalse. Aquest és el valor predeterminat quan s'omet.

### 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

Temes relacionats

Funcions matemàtiques del VBA