Decimal.ToString Method (String)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Converts the numeric value of this instance to its equivalent string representation, using the specified format.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Function ToString ( _
    format As String _
) As String
[SecuritySafeCriticalAttribute]
public string ToString(
    string format
)

Parameters

  • format
    Type: System.String
    A standard or custom numeric format string (see Remarks).

Return Value

Type: System.String
The string representation of the value of this instance as specified by format.

Exceptions

Exception Condition
FormatException

format is invalid.

Remarks

The format parameter can be any valid standard numeric format specifier except for D, R, and X, as well as any combination of custom numeric format specifiers. If format is nulla null reference (Nothing in Visual Basic) or an empty string, the return value of this instance is formatted with the general numeric format specifier (G).

The .NET Framework provides extensive formatting support, which is described in greater detail in the following formatting topics:

NoteNote:

Because the Decimal data type is not supported on the Macintosh OS X operating system, the string representation of a Decimal value may be different from those of the other .NET Framework numeric types that are supported by OS X.

The return value is formatted with the NumberFormatInfo for the current culture.

Examples

The following example displays a Decimal value using each of the supported standard numeric format specifiers, together with two custom numeric format strings. In converting the numeric values to strings, the example uses the formatting conventions of the en-US culture.

Dim value As Decimal = 16325.62D
Dim specifier As String

' Use standard numeric format specifiers.
specifier = "G"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    G: 16325.62
specifier = "C"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    C: $16,325.62
specifier = "E04"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    E04: 1.6326E+004
specifier = "F"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    F: 16325.62
specifier = "N"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    N: 16,325.62
specifier = "P"
outputBlock.Text &= String.Format("{0}: {1}", specifier, (value / 10000).ToString(specifier)) & vbCrLf
' Displays:    P: 163.26 %

' Use custom numeric format specifiers.
specifier = "0,0.000"
outputBlock.Text &= String.Format("{0}: {1}", specifier, value.ToString(specifier)) & vbCrLf
' Displays:    0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)"
outputBlock.Text &= String.Format("{0}: {1}", specifier, (value * -1).ToString(specifier)) & vbCrLf
' Displays:    #,#.00#;(#,#.00#): (16,325.62)
decimal value = 16325.62m;
string specifier;

// Use standard numeric format specifiers.
specifier = "G";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    G: 16325.62
specifier = "C";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    C: $16,325.62
specifier = "E04";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    E04: 1.6326E+004
specifier = "F";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    F: 16325.62
specifier = "N";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    N: 16,325.62
specifier = "P";
outputBlock.Text += String.Format("{0}: {1}", specifier, (value / 10000).ToString(specifier)) + "\n";
// Displays:    P: 163.26 %

// Use custom numeric format specifiers.
specifier = "0,0.000";
outputBlock.Text += String.Format("{0}: {1}", specifier, value.ToString(specifier)) + "\n";
// Displays:    0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)";
outputBlock.Text += String.Format("{0}: {1}", specifier, (value * -1).ToString(specifier)) + "\n";
// Displays:    #,#.00#;(#,#.00#): (16,325.62)

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.