NumberFormatInfo.CurrencyDecimalDigits Property

Updated: October 2010

Gets or sets the number of decimal places to use in currency values.

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

public int CurrencyDecimalDigits { get; set; }

Property Value

Type: System.Int32
The number of decimal places to use in currency values. The default for InvariantInfo is 2.


The property is being set to a value that is less than 0 or greater than 99.


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

The CurrencyDecimalDigits property is used with the "C" standard format string without a precision specifier in numeric formatting operations. It defines the number of fractional digits that appear after the decimal point. For more information, see Standard Numeric Format Strings.

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

using System;
using System.Globalization;

class Example

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)

      // Gets a NumberFormatInfo associated with the en-US culture.
      NumberFormatInfo nfi = new CultureInfo("en-US").NumberFormat;

      // Displays a negative value with the default number of decimal digits (2).
      Int64 myInt = -1234;
      outputBlock.Text += String.Format(myInt.ToString("C", nfi)) + "\n";

      // Displays the same value with four decimal digits.
      nfi.CurrencyDecimalDigits = 4;
      outputBlock.Text += String.Format(myInt.ToString("C", nfi)) + "\n";


This code produces the following output.



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

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




October 2010

Added the Remarks section.

Customer feedback.

Community Additions