FormatPercent Function [VBA]

目录

# FormatPercent [VBA]

Returns a string with a number formatting applied to a numeric expression. A percent sign is appended to the returned string.

This constant, function or object is enabled with the statement Option VBASupport 1 placed before the executable program code in a module.

### 语法:

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

### Return type:

String

### 参数:

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

「numDigitsAfterDecimal」: 可选。数字表达式，指定小数点后应显示的位数。若忽略，则默认为 -1，即使用用户界面区域的默认设置。

「includeLeadingDigit」: 可选。vbTriState 枚举值，指定小数是否应显示开头的零。

- 「vbTrue 或 -1」: 显示开头的零。

- 「vbFalse or 0」: 不显示开头的零。

- vbUseDefault or -2: Use the user interface locale settings. This is the default when omitted.

「useParensForNegativeNumbers」: 可选。vbTriState 枚举值，指定负数是否应被括号包围。

- 「vbTrue or -1」: 为负数加上括号。

- 「vbFalse or 0」: 不显示括号。

- vbUseDefault or -2: Same as vbFalse. This is the default when omitted.

「groupDigits」: 可选。vbTriState 枚举值，指定要分组的数字 (如每千位)，使用系统区域设置指定的分组分隔符。

- 「vbTrue or -1」: 数位分组。

- 「vbFalse or 0」:数位不分组。

- vbUseDefault or -2: Same as vbFalse. This is the default when omitted.

### 错误代码:

13 数据类型不匹配

### 示例:

            Sub TestFormatNumber
              Const UseComputerRegionalSettings = -1

              MsgBox FormatPercent(12.2, NumDigitsAfterDecimal:=2) ' 1220.00% if selected user interface is english

              MsgBox FormatPercent("-,2", 2, IncludeLeadingDigit:=vbTrue) ' -20,00% if french user interface

              MsgBox FormatPercent("-0.2", 2) ' -20.00% for en-US, -0,00 for fr-CA, de-AT or pt-BR

              MsgBox FormatPercent(-0.2, UseComputerRegionalSettings, UseParensForNegativeNumbers:=vbTrue) ' (20,00)% if pt-BR

              MsgBox FormatPercent("-0,2", UseComputerRegionalSettings, vbUseDefault, vbTrue) ' (20,00)% if german

              MsgBox FormatPercent("-12345678", -1, vbUseDefault, vbUseDefault, GroupDigits:=vbTrue) ' -1 234 567 800,00% for fr-BE

            End Sub

相关主题

VBA 数学函数

请支持我们!