NumberFormatInfo.PercentGroupSizes Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the number of digits in each group to the left of the decimal in percent values.
public:
property cli::array <int> ^ PercentGroupSizes { cli::array <int> ^ get(); void set(cli::array <int> ^ value); };
public int[] PercentGroupSizes { get; set; }
member this.PercentGroupSizes : int[] with get, set
Public Property PercentGroupSizes As Integer()
Property Value
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.
Exceptions
The property is being set to null
.
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.
The property is being set and the NumberFormatInfo object is read-only.
Examples
The following example demonstrates the effect of changing the PercentGroupSizes 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 value with the default separator (S".").
Double myInt = 123456789012345.6789;
Console::WriteLine( myInt.ToString( "P", nfi ) );
// Displays the same value with different groupings.
array<Int32>^mySizes1 = {2,3,4};
array<Int32>^mySizes2 = {2,3,0};
nfi->PercentGroupSizes = mySizes1;
Console::WriteLine( myInt.ToString( "P", nfi ) );
nfi->PercentGroupSizes = mySizes2;
Console::WriteLine( myInt.ToString( "P", nfi ) );
}
/*
This code produces the following output.
12, 345, 678, 901, 234, 600.00 %
1234, 5678, 9012, 346, 00.00 %
123456789012, 346, 00.00 %
*/
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 value with the default separator (".").
Double myInt = 123456789012345.6789;
Console.WriteLine( myInt.ToString( "P", nfi ) );
// Displays the same value with different groupings.
int[] mySizes1 = {2,3,4};
int[] mySizes2 = {2,3,0};
nfi.PercentGroupSizes = mySizes1;
Console.WriteLine( myInt.ToString( "P", nfi ) );
nfi.PercentGroupSizes = mySizes2;
Console.WriteLine( myInt.ToString( "P", nfi ) );
}
}
/*
This code produces the following output.
12,345,678,901,234,600.00 %
1234,5678,9012,346,00.00 %
123456789012,346,00.00 %
*/
Imports System.Globalization
Class NumberFormatInfoSample
Public Shared Sub Main()
' Gets a NumberFormatInfo associated with the en-US culture.
Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat
' Displays a value with the default separator (".").
Dim myInt As [Double] = 123456789012345.6789
Console.WriteLine(myInt.ToString("P", nfi))
' Displays the same value with different groupings.
Dim mySizes1 As Integer() = {2, 3, 4}
Dim mySizes2 As Integer() = {2, 3, 0}
nfi.PercentGroupSizes = mySizes1
Console.WriteLine(myInt.ToString("P", nfi))
nfi.PercentGroupSizes = mySizes2
Console.WriteLine(myInt.ToString("P", nfi))
End Sub
End Class
'This code produces the following output.
'
'12,345,678,901,234,600.00 %
'1234,5678,9012,346,00.00 %
'123456789012,346,00.00 %
Remarks
The PercentGroupSizes property is used with the "P" standard format string to define the number of digits that appear in integral groups. For more information, see Standard Numeric Format Strings. 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%".