NumberFormatInfo.NumberGroupSizes Eigenschaft

Definition

Ruft die Anzahl von Ziffern in jeder Gruppe links vom Dezimaltrennzeichen in numerischen Werten ab oder legt diese fest.Gets or sets the number of digits in each group to the left of the decimal in numeric values.

public:
 property cli::array <int> ^ NumberGroupSizes { cli::array <int> ^ get(); void set(cli::array <int> ^ value); };
public int[] NumberGroupSizes { get; set; }
member this.NumberGroupSizes : int[] with get, set
Public Property NumberGroupSizes As Integer()

Eigenschaftswert

Int32[]

Die Anzahl von Ziffern in jeder Gruppe links vom Dezimaltrennzeichen in numerischen Werten.The number of digits in each group to the left of the decimal in numeric values. Der Standard für InvariantInfo ist ein eindimensionales Array, das ein einziges, auf 3 festgelegtes Element enthält.The default for InvariantInfo is a one-dimensional array with only one element, which is set to 3.

Ausnahmen

Die Eigenschaft wird auf null festgelegt.The property is being set to null.

Die Eigenschaft wird festgelegt, und das Array enthält einen Eintrag, der kleiner als 0 oder größer als 9 ist.The property is being set and the array contains an entry that is less than 0 or greater than 9.

- oder --or-

Die Eigenschaft wird festgelegt, und das Array enthält einen Eintrag, der nicht der letzte Eintrag ist, der auf 0 festgelegt ist.The property is being set and the array contains an entry, other than the last entry, that is set to 0.

Die Eigenschaft wird festgelegt, und das NumberFormatInfo-Objekt ist schreibgeschützt.The property is being set and the NumberFormatInfo object is read-only.

Beispiele

Im folgenden Beispiel werden die Auswirkungen der Änderung der NumberGroupSizes -Eigenschaft veranschaulicht.The following example demonstrates the effect of changing the NumberGroupSizes 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".").
   Int64 myInt = 123456789012345;
   Console::WriteLine( myInt.ToString( "N", nfi ) );
   
   // Displays the same value with different groupings.
   array<Int32>^mySizes1 = {2,3,4};
   array<Int32>^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
*/
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
*/
   
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 Int64 = 123456789012345
      Console.WriteLine(myInt.ToString("N", nfi))

      ' Displays the same value with different groupings.
      Dim mySizes1 As Integer() =  {2, 3, 4}
      Dim mySizes2 As Integer() =  {2, 3, 0}
      nfi.NumberGroupSizes = mySizes1
      Console.WriteLine(myInt.ToString("N", nfi))
      nfi.NumberGroupSizes = mySizes2
      Console.WriteLine(myInt.ToString("N", nfi))

   End Sub

End Class



'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 unter NumberGroupSizes schiedlichen Arrays ausgegeben.The following example prints a value using different NumberGroupSizes arrays.

using namespace System;
using namespace System::Globalization;
String^ PrintArraySet( array<Int32>^myArr )
{
   String^ myStr = nullptr;
   myStr = myArr[ 0 ].ToString();
   for ( int i = 1; i < myArr->Length; i++ )
      myStr = String::Concat( myStr, ", ", myArr[ i ].ToString() );
   return myStr;
}

int main()
{
   
   // Creates a new NumberFormatinfo.
   NumberFormatInfo^ myNfi = gcnew 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.
   array<Int32>^newInts1 = {2,3,4};
   myNfi->NumberGroupSizes = newInts1;
   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.
   array<Int32>^newInts2 = {2,4,0};
   myNfi->NumberGroupSizes = newInts2;
   Console::WriteLine( "Grouping ( {0} )\t:\t{1}", PrintArraySet( myNfi->NumberGroupSizes ), myInt.ToString( "N", myNfi ) );
}

/*
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
*/
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
*/
Imports System.Globalization

Class SamplesNumberFormatInfo
    
    Public Shared Sub Main()
        
        ' Creates a new NumberFormatinfo.
        Dim myNfi As New NumberFormatInfo()
        
        ' Takes a long value.
        Dim myInt As Int64 = 123456789012345
        
        ' Displays the value with default formatting.
        Console.WriteLine("Default  " + ControlChars.Tab + ControlChars.Tab _
           + ":" + ControlChars.Tab + "{0}", myInt.ToString("N", myNfi))
        
        ' Displays the value with three elements in the GroupSize array.
        myNfi.NumberGroupSizes = New Integer() {2, 3, 4}
        Console.WriteLine("Grouping ( {0} )" + ControlChars.Tab + ":" _
           + ControlChars.Tab + "{1}", _
           PrintArraySet(myNfi.NumberGroupSizes), myInt.ToString("N", myNfi))
        
        ' Displays the value with zero as the last element in the GroupSize array.
        myNfi.NumberGroupSizes = New Integer() {2, 4, 0}
        Console.WriteLine("Grouping ( {0} )" + ControlChars.Tab + ":" _
           + ControlChars.Tab + "{1}", _
           PrintArraySet(myNfi.NumberGroupSizes), myInt.ToString("N", myNfi))
    End Sub
    
    
    Public Shared Function PrintArraySet(myArr() As Integer) As String
        Dim myStr As String = Nothing
        myStr = myArr(0).ToString()
        Dim i As Integer
        For i = 1 To myArr.Length - 1
            myStr += ", " + myArr(i).ToString()
        Next i
        Return myStr
    End Function
End Class

' 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 NumberGroupSizes der-Eigenschaft wirkt sich auf das Ergebnis von Zahlenwerten aus, die mithilfe von "N" formatiert werden.The value of the NumberGroupSizes property affects the result of number values that are formatted by using the "N" . Wenn eine benutzerdefinierte numerische Format Zeichenfolge oder andere standardmäßige numerische Format Zeichenfolgen verwendet NumberGroupSizes werden, wird der Wert der-Eigenschaft ignoriert.If a custom numeric format string or other standard numeric format strings are used, the value of the NumberGroupSizes property is ignored.

Jedes Element im eindimensionalen Array muss eine ganze Zahl zwischen 1 und 9 sein.Every element in the one-dimensional array must be an integer from 1 through 9. Das letzte Element kann 0 sein.The last element can be 0.

Das erste Element des Arrays definiert die Anzahl der Elemente in der am wenigsten wichtigen Gruppe von Ziffern direkt links von NumberDecimalSeparator.The first element of the array defines the number of elements in the least significant group of digits immediately to the left of the NumberDecimalSeparator. Jedes nachfolgende Element verweist auf die nächste bedeutende Gruppe von Ziffern links von der vorherigen Gruppe.Each subsequent element refers to the next significant group of digits to the left of the previous group. Wenn das letzte Element des Arrays nicht 0 ist, werden die restlichen Ziffern basierend auf dem letzten Element des Arrays gruppiert.If the last element of the array is not 0, the remaining digits are grouped based on the last element of the array. Wenn das letzte Element 0 ist, werden die restlichen Ziffern nicht gruppiert.If the last element is 0, the remaining digits are not grouped.

Wenn das Array z. b. {3, 4, 5} enthält, sind die Ziffern ähnlich wie "55, 55555, 55555, 55555, 4444, 333.00" gruppiert.For example, if the array contains { 3, 4, 5 }, the digits are grouped similar to "55,55555,55555,55555,4444,333.00". Wenn das Array {3, 4, 0} enthält, sind die Ziffern ähnlich wie "55555555555555555, 4444, 333.00" gruppiert.If the array contains { 3, 4, 0 }, the digits are grouped similar to "55555555555555555,4444,333.00".

Gilt für:

Siehe auch