NumberFormatInfo.CurrencyDecimalSeparator Property
Gets or sets the string to use as the decimal separator in currency values.
[Visual Basic] Public Property CurrencyDecimalSeparator As String [C#] public string CurrencyDecimalSeparator {get; set;} [C++] public: __property String* get_CurrencyDecimalSeparator(); public: __property void set_CurrencyDecimalSeparator(String*); [JScript] public function get CurrencyDecimalSeparator() : String; public function set CurrencyDecimalSeparator(String);
Property Value
The string to use as the decimal separator in currency values. The default for InvariantInfo is ".".
Exceptions
| Exception Type | Condition |
|---|---|
| ArgumentNullException | The property is being set to a null reference (Nothing in Visual Basic). |
| InvalidOperationException | The property is being set and the NumberFormatInfo is read-only. |
Remarks
The initial value of this property is derived from the settings in Regional and Language Options (or Regional Options or Regional Settings) in Control Panel. However, if either NumberGroupSeparator or CurrencyGroupSeparator is the same as either NumberDecimalSeparator or CurrencyDecimalSeparator, ArgumentException is thrown during parsing.
Example
[Visual Basic, C#, C++] The following code example demonstrates the effect of changing the CurrencyDecimalSeparator property.
[Visual Basic] Imports System Imports System.Globalization Class NumberFormatInfoSample Public Shared Sub Main() ' Gets a NumberFormatInfo associated with the en-US culture. Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat ' Displays a value with the default separator ("."). Dim myInt As Int64 = 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)) End Sub 'Main End Class 'NumberFormatInfoSample ' 'This code produces the following output. ' '$123,456,789.00 '$123,456,789 00 ' [C#] using System; using System.Globalization; class NumberFormatInfoSample { public static void Main() { // Gets a NumberFormatInfo associated with the en-US culture. NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat; // Displays a value with the default separator ("."). 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 */ [C++] #using <mscorlib.dll> using namespace System; using namespace System::Globalization; int main() { // Gets a NumberFormatInfo associated with the en-US culture. CultureInfo * MyCI = new CultureInfo(S"en-US", false); NumberFormatInfo* nfi = MyCI -> NumberFormat; // Displays a value with the default separator (S"."). Int64 myInt = 123456789; Console::WriteLine(myInt.ToString(S"C", nfi)); // Displays the same value with a blank as the separator. nfi -> CurrencyDecimalSeparator = S" "; Console::WriteLine(myInt.ToString(S"C", nfi)); } /* This code produces the following output. $123, 456, 789.00 $123, 456, 789 00 */
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard
See Also
NumberFormatInfo Class | NumberFormatInfo Members | System.Globalization Namespace | CurrencyDecimalDigits | CurrencyGroupSeparator | CurrencyGroupSizes | CurrencySymbol | CurrencyNegativePattern | CurrencyPositivePattern | NumberDecimalSeparator | PercentDecimalSeparator