NumberFormatInfo.NumberGroupSizes Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le nombre de chiffres dans chaque groupe à gauche du séparateur décimal dans les valeurs numériques.
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()
Valeur de propriété
Nombre de chiffres dans chaque groupe à gauche du séparateur décimal dans les valeurs numériques. Par défaut, InvariantInfo est un tableau unidimensionnel avec un seul élément ayant pour valeur 3.
Exceptions
La propriété est définie sur null
.
La propriété est définie, et le tableau contient une entrée inférieure à 0 ou supérieure à 9.
- ou -
La propriété est définie, et le tableau contient une entrée, autre que la dernière entrée, qui est définie sur 0.
La propriété est définie et l’objet NumberFormatInfo est en lecture seule.
Exemples
L’exemple suivant illustre l’effet de la modification de la NumberGroupSizes propriété.
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
L’exemple suivant imprime une valeur à l’aide de différents NumberGroupSizes tableaux.
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
Remarques
La valeur de la NumberGroupSizes propriété affecte le résultat des valeurs de nombre mises en forme à l’aide de « N ». Si une chaîne de format numérique personnalisée ou d’autres chaînes de format numérique standard sont utilisées, la valeur de la NumberGroupSizes propriété est ignorée.
Chaque élément du tableau unidimensionnel doit être un entier compris entre 1 et 9. Le dernier élément peut être 0.
Le premier élément du tableau définit le nombre d’éléments dans le groupe le moins significatif de chiffres immédiatement à gauche de NumberDecimalSeparator. Chaque élément suivant fait référence au groupe significatif suivant de chiffres à gauche du groupe précédent. Si le dernier élément du tableau n’est pas 0, les chiffres restants sont regroupés en fonction du dernier élément du tableau. Si le dernier élément est 0, les chiffres restants ne sont pas regroupés.
Par exemple, si le tableau contient { 3, 4, 5 }, les chiffres sont regroupés comme « 55,555555,55555,555555,4444,333.00 ». Si le tableau contient { 3, 4, 0 }, les chiffres sont regroupés comme « 555555555555555555555555555555,4444,333.00 ».