NumberFormatInfo.NumberGroupSizes Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia liczbę cyfr w każdej grupie po lewej stronie dziesiętnej w wartościach liczbowych.
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()
Wartość właściwości
Liczba cyfr w każdej grupie po lewej stronie dziesiętnej w wartościach liczbowych. Wartość domyślna InvariantInfo to tablica jednowymiarowa z tylko jednym elementem, który jest ustawiony na wartość 3.
Wyjątki
Właściwość jest ustawiana na null
.
Właściwość jest ustawiana, a tablica zawiera wpis mniejszy niż 0 lub większy niż 9.
-lub-
Właściwość jest ustawiana, a tablica zawiera wpis inny niż ostatni wpis ustawiony na wartość 0.
Właściwość jest ustawiana, a NumberFormatInfo obiekt jest tylko do odczytu.
Przykłady
W poniższym przykładzie pokazano efekt zmiany NumberGroupSizes właściwości.
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
Poniższy przykład wyświetla wartość przy użyciu różnych NumberGroupSizes tablic.
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
Uwagi
Wartość NumberGroupSizes właściwości wpływa na wynik wartości liczbowych sformatowanych przy użyciu ciągu "N". Jeśli używany jest niestandardowy ciąg formatu liczbowego lub inne standardowe ciągi formatu liczbowego, wartość NumberGroupSizes właściwości jest ignorowana.
Każdy element w tablicy jednowymiarowej musi być liczbą całkowitą z zakresu od 1 do 9. Ostatni element może być 0.
Pierwszy element tablicy definiuje liczbę elementów w najmniej znaczącej grupie cyfr natychmiast po lewej NumberDecimalSeparatorstronie . Każdy kolejny element odnosi się do następnej znaczącej grupy cyfr po lewej stronie poprzedniej grupy. Jeśli ostatni element tablicy nie ma wartości 0, pozostałe cyfry są pogrupowane na podstawie ostatniego elementu tablicy. Jeśli ostatni element to 0, pozostałe cyfry nie są pogrupowane.
Na przykład jeśli tablica zawiera { 3, 4, 5 }, cyfry są zgrupowane podobnie do "55 55555,55555,555555,4444,333.00". Jeśli tablica zawiera { 3, 4, 0 }, cyfry są zgrupowane podobnie do "55555555555555555555555555,4444,333.00".