Freigeben über


NumberFormatInfo.NumberGroupSizes-Eigenschaft

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

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

Syntax

'Declaration
Public Property NumberGroupSizes As Integer()
'Usage
Dim instance As NumberFormatInfo
Dim value As Integer()

value = instance.NumberGroupSizes

instance.NumberGroupSizes = value
public int[] NumberGroupSizes { get; set; }
public:
property array<int>^ NumberGroupSizes {
    array<int>^ get ();
    void set (array<int>^ value);
}
/** @property */
public int[] get_NumberGroupSizes ()

/** @property */
public void set_NumberGroupSizes (int[] value)
public function get NumberGroupSizes () : int[]

public function set NumberGroupSizes (value : int[])

Eigenschaftenwert

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

Ausnahmetyp Bedingung

ArgumentNullException

Die Eigenschaft wird auf NULL (Nothing in Visual Basic) festgelegt.

ArgumentException

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

– oder –

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

InvalidOperationException

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

Hinweise

Jedes Element im eindimensionalen Array muss eine Ganzzahl von 1 bis 9 sein. Das letzte Element kann 0 (null) sein.

Das erste Element des Arrays definiert die Anzahl von Elementen in der niederwertigsten Zifferngruppe direkt links vom NumberDecimalSeparator. Jedes nachfolgende Element verweist auf die nächste signifikante Zifferngruppe links von der vorherigen Gruppe. Wenn das letzte Element des Arrays ungleich 0 (null) ist, werden die verbleibenden Ziffern basierend auf dem letzten Element des Arrays gruppiert. Wenn das letzte Element 0 (null) ist, werden die verbleibenden Ziffern nicht gruppiert.

Wenn das Array z. B. {3, 4, 5} enthält, werden die Ziffern wie folgt gruppiert: "55,55555,55555,55555,4444,333.00". Wenn das Array {3, 4, 0} enthält, werden die Ziffern wie folgt gruppiert: "55555555555555555,4444,333.00".

Beispiel

Im folgenden Codebeispiel werden die Auswirkungen einer Änderung der NumberGroupSizes-Eigenschaft veranschaulicht.

Imports System
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 'Main 

End Class 'NumberFormatInfoSample



'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
*/
   
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
*/
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("N", nfi));
        // Displays the same value with different groupings.
        int mySizes1[] =  { 2, 3, 4 };
        int mySizes2[] =  { 2, 3, 0 };
        nfi.set_NumberGroupSizes(mySizes1);
        Console.WriteLine(myInt.ToString("N", nfi));
        nfi.set_NumberGroupSizes(mySizes2);
        Console.WriteLine(myInt.ToString("N", 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
*/

Im folgenden Codebeispiel wird ein Wert ausgegeben, wobei verschiedene NumberGroupSizes-Arrays verwendet werden.

Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

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

// Creates a new NumberFormatinfo.
var myNfi : NumberFormatInfo = new NumberFormatInfo()

// Takes a long value.
var myInt : long = 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 = [2, 3, 4]
Console.WriteLine("Grouping ( {0} )\t:\t{1}", PrintArraySet(myNfi.NumberGroupSizes), myInt.ToString("N", myNfi))

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


function PrintArraySet(myArr : int[]) : String{
  var myStr : StringBuilder = new StringBuilder()
  myStr.Append(myArr[0].ToString())
  for(var i = 1; i < myArr.Length; i++){
      myStr.Append(", " + myArr[i].ToString())
  }
  return myStr.ToString()
}

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

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

NumberFormatInfo-Klasse
NumberFormatInfo-Member
System.Globalization-Namespace
NumberFormatInfo.NumberDecimalDigits-Eigenschaft
NumberFormatInfo.NumberDecimalSeparator-Eigenschaft
NumberFormatInfo.NumberGroupSeparator-Eigenschaft
NumberFormatInfo.NaNSymbol-Eigenschaft
NumberNegativePattern
NumberFormatInfo.CurrencyGroupSizes-Eigenschaft
PercentGroupSizes