NumberFormatInfo::CurrencyDecimalSeparator Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the string to use as the decimal separator in currency values.

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

property String^ CurrencyDecimalSeparator {
	String^ get();
	void set(String^ value);

Property Value

Type: System::String^

The string to use as the decimal separator in currency values. The default for InvariantInfo is ".".

Exception Condition

The property is being set to null.


The property is being set and the NumberFormatInfo object is read-only.


The property is being set to an empty string.

The initial value of this property is derived from the settings in the Region and Language item in Control Panel.

The CurrencyDecimalSeparator property is used with the "C" standard format string to define the symbol that separates integral from fractional digits. For more information, see Standard Numeric Format Strings.

The following example demonstrates the effect of changing the CurrencyDecimalSeparator property.

using namespace System;
using namespace System::Globalization;
int main()

   // Gets a NumberFormatInfo associated with the en-US culture.
   CultureInfo^ MyCI = gcnew CultureInfo( "en-US",false );
   NumberFormatInfo^ nfi = MyCI->NumberFormat;

   // Displays a value with the default separator (S".").
   Int64 myInt = 123456789;
   Console::WriteLine( myInt.ToString( "C", nfi ) );

   // Displays the same value with a blank as the separator.
   nfi->CurrencyDecimalSeparator = " ";
   Console::WriteLine( myInt.ToString( "C", nfi ) );

This code produces the following output.

$123, 456, 789.00
$123, 456, 789 00

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top