NumberFormatInfo::PercentDecimalDigits 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 number of decimal places to use in percent values.

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

property int PercentDecimalDigits {
	int get();
	void set(int value);

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 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 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 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