Auf Englisch lesen

Teilen über


NumberFormatInfo.NumberGroupSizes Eigenschaft

Definition

Ruft die Anzahl von Ziffern in jeder Gruppe links vom Dezimaltrennzeichen in numerischen Werten ab oder legt diese fest.

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

Eigenschaftswert

Int32[]

Die Anzahl von Ziffern in jeder Gruppe links vom Dezimaltrennzeichen in numerischen Werten. Der Standard für InvariantInfo ist ein eindimensionales Array, das ein einziges, auf 3 festgelegtes Element enthält.

Ausnahmen

Die Eigenschaft wird auf null festgelegt.

Die Eigenschaft wird festgelegt, und das Array enthält einen Eintrag, der kleiner als 0 oder größer als 9 ist.

- oder -

Die Eigenschaft wird festgelegt, und das Array enthält einen Eintrag, der nicht der letzte Eintrag ist, der auf 0 festgelegt ist.

Die Eigenschaft wird festgelegt, und das NumberFormatInfo-Objekt ist schreibgeschützt.

Beispiele

Im folgenden Beispiel wird die Auswirkung der Änderung der NumberGroupSizes Eigenschaft veranschaulicht.

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

Im folgenden Beispiel wird ein Wert mit unterschiedlichen NumberGroupSizes Arrays ausgegeben.

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

Hinweise

Der Wert der NumberGroupSizes -Eigenschaft wirkt sich auf das Ergebnis von Zahlenwerten aus, die mithilfe von "N" formatiert werden. Wenn eine benutzerdefinierte numerische Formatzeichenfolge oder andere standardmäßige numerische Formatzeichenfolgen verwendet werden, wird der Wert der NumberGroupSizes -Eigenschaft ignoriert.

Jedes Element im eindimensionalen Array muss eine ganze Zahl von 1 bis 9 sein. Das letzte Element kann 0 sein.

Das erste Element des Arrays definiert die Anzahl der Elemente in der am wenigsten signifikanten Gruppe von Ziffern unmittelbar links von NumberDecimalSeparator. Jedes nachfolgende Element verweist auf die nächste signifikante Gruppe von Ziffern links von der vorherigen Gruppe. Wenn das letzte Element des Arrays nicht 0 ist, werden die verbleibenden Ziffern basierend auf dem letzten Element des Arrays gruppiert. Wenn das letzte Element 0 ist, werden die verbleibenden Ziffern nicht gruppiert.

Wenn das Array beispielsweise { 3, 4, 5 } enthält, werden die Ziffern ähnlich wie "55.55555.5555.55555.55555.4444.333.00" gruppiert. Wenn das Array { 3, 4, 0 } enthält, werden die Ziffern ähnlich wie "555555555555555555555555,4444,333.00" gruppiert.

Gilt für:

Produkt Versionen
.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

Weitere Informationen