Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

NumberFormatInfo.PercentGroupSizes Property

Gets or sets the number of digits in each group to the left of the decimal in percent values.

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

public int[] PercentGroupSizes { get; set; }

Property Value

Type: System.Int32[]
The number of digits in each group to the left of the decimal in percent values. The default for InvariantInfo is a one-dimensional array with only one element, which is set to 3.

ExceptionCondition
ArgumentNullException

The property is being set to null.

ArgumentException

The property is being set and the array contains an entry that is less than 0 or greater than 9.

-or-

The property is being set and the array contains an entry, other than the last entry, that is set to 0.

InvalidOperationException

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

Every element in the one-dimensional array must be an integer from 1 through 9. The last element can be 0.

The first element of the array defines the number of elements in the least significant group of digits immediately to the left of the PercentDecimalSeparator. Each subsequent element refers to the next significant group of digits to the left of the previous group. If the last element of the array is not 0, the remaining digits are grouped based on the last element of the array. If the last element is 0, the remaining digits are not grouped.

For example, if the array contains { 3, 4, 5 }, the digits are grouped similar to "55,55555,55555,55555,4444,333.00%". If the array contains { 3, 4, 0 }, the digits are grouped similar to "55555555555555555,4444,333.00%".

The following example demonstrates the effect of changing the PercentGroupSizes 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 value with the default separator (".").
      Double myInt = 123456789012345.6789;
      outputBlock.Text += String.Format(myInt.ToString("P", nfi)) + "\n";

      // Displays the same value with different groupings.
      int[] mySizes1 = { 2, 3, 4 };
      int[] mySizes2 = { 2, 3, 0 };
      nfi.PercentGroupSizes = mySizes1;
      outputBlock.Text += String.Format(myInt.ToString("P", nfi)) + "\n";
      nfi.PercentGroupSizes = mySizes2;
      outputBlock.Text += String.Format(myInt.ToString("P", nfi)) + "\n";
   }
}
/* 
This code produces the following output.
      12,345,678,901,234,600.00 %
      1234,5678,9012,346,00.00 %
      123456789012,346,00.00 %
*/


Silverlight

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.

Community Additions

ADD
Show:
© 2015 Microsoft