FormatCurrency Function (Visual Basic) 

Returns an expression formatted as a currency value using the currency symbol defined in the system control panel.

Function FormatCurrency(
   ByVal Expression As Object,
   Optional ByVal NumDigitsAfterDecimal As Integer = -1,
   Optional ByVal IncludeLeadingDigit As TriState = TriState.UseDefault,
   Optional ByVal UseParensForNegativeNumbers As TriState = TriState.UseDefault,
   Optional ByVal GroupDigits As TriState = TriState.UseDefault
) As String

Parameters

  • Expression
    Required. Expression to be formatted.
  • NumDigitsAfterDecimal
    Optional. Numeric value indicating how many places are displayed to the right of the decimal. Default value is –1, which indicates that the computer's regional settings are used.
  • IncludeLeadingDigit
    Optional. TriState enumeration that indicates whether or not a leading zero is displayed for fractional values. See "Settings" for values.
  • UseParensForNegativeNumbers
    Optional. TriState enumeration that indicates whether or not to place negative values within parentheses. See "Settings" for values.
  • GroupDigits
    Optional. TriState enumeration that indicates whether or not numbers are grouped using the group delimiter specified in the computer's regional settings. See "Settings" for values.

Settings

The IncludeLeadingDigit, UseParensForNegativeNumbers, and GroupDigits arguments take the following TriState enumeration values.

Value Description

TriState.True

True

TriState.False

False

TriState.UseDefault

The computer's regional settings

Exceptions

Exception type Error number Condition

ArgumentException

5

Number of digits after decimal point is greater than 99.

InvalidCastException

13

Type is not numeric.

See the "Error number" column if you are upgrading Visual Basic 6.0 applications that use unstructured error handling. (You can compare the error number against the Number Property (Err Object).) However, when possible, you should consider replacing such error control with Structured Exception Handling Overview for Visual Basic.

Remarks

When one or more optional arguments are omitted, the computer's matching regional-settings values are used instead.

The position of the currency symbol relative to the currency value is determined by the system's regional settings.

Note

All settings information comes from the locale of the application. By default, that will be the locale set in the control panel. However, it may be changed programmatically by using the .NET Framework, except leading zero, which comes from the Number tab.

Example

The following example illustrates the use of the FormatCurrency function.

Dim TestDebt As Double = -4456.43
Dim TestString As String
' Returns "($4,456.43)".
TestString = FormatCurrency(TestDebt, , , TriState.True, TriState.True)

Requirements

Namespace: Microsoft.VisualBasic

Module: Strings

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

See Also

Reference

String Manipulation Summary
FormatDateTime Function (Visual Basic)
FormatNumber Function (Visual Basic)
FormatPercent Function (Visual Basic)
TriState Enumeration
ArgumentException
InvalidCastException