Devolve uma cadeia de caracteres com uma formatação numérica aplicada a uma expressão numérica. É acrescentado um sinal de percentagem à cadeia de caracteres devolvida.
Esta constante, função ou objeto é ativado através da instrução Option VBASupport 1, colocada antes do código executável do programa num módulo.
Sintaxe:
FormatPercent( expression, [numDigitsAfterDecimal As Integer], [includeLeadingDigit As Integer], _
[useParensForNegativeNumbers As Integer], [groupDigits As Integer] ) As String
Tipo de retorno:
String
Parâmetros:
expressão: Obrigatório. Uma expressão numérica a formatar. Se expressão for uma cadeia de caracteres, os separadores decimais e de milhares têm de ser localizados.
numDigitsAfterDecimal: Opcional. Um valor numérico que especifica o número de dígitos que devem ser apresentados após a vírgula decimal. Se for omitido, o valor predefinido é -1, o que significa que devem ser utilizadas as definições predefinidas para a localização da interface do utilizador.
includeLeadingDigit: Opcional. Um valor de enumeração vbTriState, que especifica se deve ser exibido um zero à esquerda para valores fracionários.
vbTrue ou -1: Exibe um zero à esquerda.
vbFalse ou 0: Não exibir zeros à esquerda.
vbUseDefault ou -2: Utiliza as definições de localização da interface do utilizador. Esta é a opção predefinida quando não for especificada.
useParensForNegativeNumbers: Opcional. Um valor de enumeração vbTriState que especifica se os números negativos devem ser colocados entre parênteses.
vbTrue ou -1: Utilize parênteses para os números negativos.
vbFalse ou 0: Não exibir parênteses.
vbUseDefault ou -2: Equivale a vbFalse. É o valor predefinido quando omitido.
groupDigits: Opcional. Um valor de enumeração vbTriState que especifica se o número deve ser agrupado (em milhares, etc.), utilizando o delimitador de agrupamento definido nas definições regionais do sistema.
vbTrue ou -1: Agrupar dígitos.
vbFalse ou 0: Não agrupar dígitos.
vbUseDefault ou -2: Equivale a vbFalse. É o valor predefinido quando omitido.
Códigos de erro
13 Disparidade no tipo de dados
Exemplo:
Sub TestFormatNumber
Const UseComputerRegionalSettings = -1
MsgBox FormatPercent(12.2, NumDigitsAfterDecimal:=2) ' 1220,00 % se a interface do utilizador selecionada for em inglês
MsgBox FormatPercent("-,2", 2, IncludeLeadingDigit:=vbTrue) ' -20,00% se a interface do utilizador estiver em francês
MsgBox FormatPercent("-0,2", 2) ' -20,00% para en-US, -0,00 para fr-CA, de-AT ou pt-BR
MsgBox FormatPercent(-0,2, UseComputerRegionalSettings, UseParensForNegativeNumbers:=vbTrue) ' (20,00)% se for pt-BR
MsgBox FormatPercent("-0,2", UseComputerRegionalSettings, vbUseDefault, vbTrue) ' (20,00)% se for alemão
MsgBox FormatPercent("-12345678", -1, vbUseDefault, vbUseDefault, GroupDigits:=vbTrue) ' -1 234 567 800,00% para fr-BE
End Sub