Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

NumberFormatInfo.CurrencyGroupSizes Property

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

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

public int[] CurrencyGroupSizes { get; set; }
/** @property */
public int[] get_CurrencyGroupSizes ()

/** @property */
public void set_CurrencyGroupSizes (int[] value)

public function get CurrencyGroupSizes () : int[]

public function set CurrencyGroupSizes (value : int[])

Property Value

The number of digits in each group to the left of the decimal in currency values. The default for InvariantInfo is a one-dimensional array with only one element, which is set to 3.
Exception typeCondition

ArgumentNullException

The property is being set to a null reference (Nothing in Visual Basic).

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 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 CurrencyDecimalSeparator. 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 will be grouped similar to "$55,55555,55555,55555,4444,333.00". If the array contains { 3, 4, 0 }, the digits will be grouped similar to "$55555555555555555,4444,333.00".

The following code example demonstrates the effect of changing the CurrencyGroupSizes 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 value with the default separator (".").
      Int64 myInt = 123456789012345;
      Console.WriteLine( myInt.ToString( "C", nfi ) );

      // Displays the same value with different groupings.
      int[] mySizes1 = {2,3,4};
      int[] mySizes2 = {2,3,0};
      nfi.CurrencyGroupSizes = mySizes1;
      Console.WriteLine( myInt.ToString( "C", nfi ) );
      nfi.CurrencyGroupSizes = mySizes2;
      Console.WriteLine( myInt.ToString( "C", nfi ) );

   }
}


/* 
This code produces the following output.

$123,456,789,012,345.00
$12,3456,7890,123,45.00
$1234567890,123,45.00
*/
   

import System.*;
import System.Globalization.*;

class NumberFormatInfoSample
{
    public static void main(String[] args)
    {
        // Gets a NumberFormatInfo associated with the en-US culture.
        NumberFormatInfo nfi = 
            (new CultureInfo("en-US", false)).get_NumberFormat();
        // Displays a value with the default separator (".").
        Int64 myInt = (Int64)123456789012345L;
        Console.WriteLine(myInt.ToString("C", nfi));
        // Displays the same value with different groupings.
        int mySizes1[] = { 2, 3, 4 };
        int mySizes2[] = { 2, 3, 0 };
        nfi.set_CurrencyGroupSizes(mySizes1);
        Console.WriteLine(myInt.ToString("C", nfi));
        nfi.set_CurrencyGroupSizes(mySizes2);
        Console.WriteLine(myInt.ToString("C", nfi));
    } //main 
} //NumberFormatInfoSample

/* 
This code produces the following output.

$123,456,789,012,345.00
$12,3456,7890,123,45.00
$1234567890,123,45.00
*/

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.