CurrencyDecimalDigits Property

NumberFormatInfo.CurrencyDecimalDigits Property


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.

Exception Condition

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 default number of fractional digits that appear after the decimal separator. This value is overridden if a precision specifier is used. 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 NumberFormatInfoSample {

   public static void Main() {

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

      // Displays a negative value with the default number of decimal digits (2).
      Int64 myInt = -1234;
      Console.WriteLine( myInt.ToString( "C", nfi ) );

      // Displays the same value with four decimal digits.
      nfi.CurrencyDecimalDigits = 4;
      Console.WriteLine( myInt.ToString( "C", nfi ) );


This code produces the following output.


Universal Windows Platform
Available since 4.5
.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
© 2015 Microsoft