NumberFormatInfo.NumberGroupSizes Eigenschap

Definitie

Hiermee wordt het aantal cijfers in elke groep opgehaald of ingesteld links van het decimaalteken in numerieke waarden.

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()

Waarde van eigenschap

Int32[]

Het aantal cijfers in elke groep links van de decimaal in numerieke waarden. De standaardwaarde InvariantInfo is een eendimensionale matrix met slechts één element, dat is ingesteld op 3.

Uitzonderingen

De eigenschap wordt ingesteld op null.

De eigenschap wordt ingesteld en de matrix bevat een vermelding die kleiner is dan 0 of groter dan 9.

– of –

De eigenschap wordt ingesteld en de matrix bevat een vermelding, behalve de laatste vermelding, die is ingesteld op 0.

De eigenschap wordt ingesteld en het object heeft het NumberFormatInfo kenmerk Alleen-lezen.

Voorbeelden

In het volgende voorbeeld ziet u het effect van het wijzigen van de NumberGroupSizes eigenschap.

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

In het volgende voorbeeld wordt een waarde afgedrukt met behulp van verschillende NumberGroupSizes matrices.

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

Opmerkingen

De waarde van de NumberGroupSizes eigenschap is van invloed op het resultaat van getalwaarden die zijn opgemaakt met behulp van de 'N'. Als een tekenreeks met een aangepaste numerieke notatie of andere standaardtekenreeksen voor numerieke notatie worden gebruikt, wordt de waarde van de NumberGroupSizes eigenschap genegeerd.

Elk element in de eendimensionale matrix moet een geheel getal van 1 tot en met 9 zijn. Het laatste element kan 0 zijn.

Het eerste element van de matrix definieert het aantal elementen in de minst significante groep cijfers direct links van de NumberDecimalSeparatormatrix. Elk volgend element verwijst naar de volgende significante groep cijfers links van de vorige groep. Als het laatste element van de matrix niet 0 is, worden de resterende cijfers gegroepeerd op basis van het laatste element van de matrix. Als het laatste element 0 is, worden de resterende cijfers niet gegroepeerd.

Als de matrix bijvoorbeeld { 3, 4, 5 } bevat, worden de cijfers gegroepeerd zoals '55.55555.55555.55555.55555.4444.333.00'. Als de matrix { 3, 4, 0 } bevat, worden de cijfers gegroepeerd als '5555555555555555555555,4444.333.00'.

Van toepassing op

Zie ook