NumberFormatInfo.PercentDecimalDigits Property


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

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

public int PercentDecimalDigits { get; set; }

Property Value

Type: System.Int32

The number of decimal places to use in percent 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 PercentDecimalDigits property is used with the "P" 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 PercentDecimalDigits 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).
      Double myInt = 0.1234;
      Console.WriteLine( myInt.ToString( "P", nfi ) );

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


This code produces the following output.

12.34 %
12.3400 %

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
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft