NumberFormatInfo.NumberGroupSizes Свойство

Определение

Возвращает или задает число цифр в каждой из групп целой части десятичной дроби в числовых значениях.

C#
public int[] NumberGroupSizes { get; set; }

Значение свойства

Int32[]

Число цифр в каждой из групп целой части десятичной дроби в числовых значениях. Для свойства InvariantInfo по умолчанию используется одномерный массив с единственным элементом, для которого задано значение 3.

Исключения

Для свойства задается значение null.

Для свойства задается значение, и массив содержит запись, которая меньше 0 или больше 9.

-или-

Для свойства задается значение, и массив содержит запись, отличную от последней записи, которая имеет значение 0.

Для свойства задается значение, а объект NumberFormatInfo доступен только для чтения.

Примеры

В следующем примере показан эффект изменения NumberGroupSizes свойства .

C#
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( "N", nfi ) );

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


/*
This code produces the following output.

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

В следующем примере значение выводится с использованием разных NumberGroupSizes массивов.

C#
using System;
using System.Globalization;
class SamplesNumberFormatInfo  {

   public static void Main()  {

      // Creates a new NumberFormatinfo.
      NumberFormatInfo myNfi = new NumberFormatInfo();

      // Takes a long value.
      Int64 myInt = 123456789012345;

      // Displays the value with default formatting.
      Console.WriteLine( "Default  \t\t:\t{0}", myInt.ToString( "N", myNfi ) );

      // Displays the value with three elements in the GroupSize array.
      myNfi.NumberGroupSizes = new int[]  { 2, 3, 4 };
      Console.WriteLine( "Grouping ( {0} )\t:\t{1}",
         PrintArraySet( myNfi.NumberGroupSizes ), myInt.ToString( "N", myNfi ) );

      // Displays the value with zero as the last element in the GroupSize array.
      myNfi.NumberGroupSizes = new int[]  { 2, 4, 0 };
      Console.WriteLine( "Grouping ( {0} )\t:\t{1}",
         PrintArraySet( myNfi.NumberGroupSizes ), myInt.ToString( "N", myNfi ) );
   }

   public static string PrintArraySet( int[] myArr )  {
      string myStr = null;
      myStr = myArr[0].ToString();
      for ( int i = 1; i < myArr.Length; i++ )
         myStr += ", " + myArr[i].ToString();
      return( myStr );
   }
}
/*
This code produces the following output.

Default                 :       123,456,789,012,345.00
Grouping ( 2, 3, 4 )    :       12,3456,7890,123,45.00
Grouping ( 2, 4, 0 )    :       123456789,0123,45.00
*/

Комментарии

Значение NumberGroupSizes свойства влияет на результат числовых значений, отформатированных с помощью "N". Если используется строка пользовательского числового формата или другие строки стандартного числового NumberGroupSizes формата, значение свойства игнорируется.

Каждый элемент в одномерном массиве должен быть целым числом от 1 до 9. Последний элемент может иметь значение 0.

Первый элемент массива определяет количество элементов в наименее значимой группе цифр слева от NumberDecimalSeparator. Каждый последующий элемент относится к следующей значительной группе цифр слева от предыдущей группы. Если последний элемент массива не равен 0, остальные цифры группируются по последнему элементу массива. Если последний элемент равен 0, остальные цифры не группируются.

Например, если массив содержит { 3, 4, 5 }, цифры группируются примерно так: "555555,55555,555555,4444,333,00". Если массив содержит { 3, 4, 0 }, цифры группируются примерно так: "55555555555555555555554 333,00".

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел