NumberFormatInfo.NumberGroupSizes Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví počet číslic v každé skupině nalevo od desetinné čárky v číselných hodnotách.
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()
Hodnota vlastnosti
Počet číslic v každé skupině vlevo od desetinné čárky v číselných hodnotách. Výchozí hodnota pro InvariantInfo je jednorozměrné pole s pouze jedním prvkem, který je nastaven na hodnotu 3.
Výjimky
Vlastnost se nastavuje na null
.
Vlastnost se nastavuje a pole obsahuje položku, která je menší než 0 nebo větší než 9.
-nebo-
Vlastnost se nastavuje a pole obsahuje jinou položku než poslední položku, která je nastavená na hodnotu 0.
Vlastnost se nastavuje a NumberFormatInfo objekt je jen pro čtení.
Příklady
Následující příklad ukazuje účinek změny NumberGroupSizes vlastnosti.
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
Následující příklad vytiskne hodnotu pomocí různých NumberGroupSizes polí.
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
Poznámky
Hodnota NumberGroupSizes vlastnosti ovlivňuje výsledek číselných hodnot, které jsou formátovány pomocí "N" . Pokud se použije vlastní řetězec číselného formátu nebo jiné standardní řetězce číselného NumberGroupSizes formátu, hodnota vlastnosti se ignoruje.
Každý prvek v jednorozměrném poli musí být celé číslo od 1 do 9. Poslední prvek může být 0.
První prvek matice definuje počet prvků v nejméně významné skupině číslic bezprostředně nalevo od NumberDecimalSeparator. Každý další prvek odkazuje na další významnou skupinu číslic vlevo od předchozí skupiny. Pokud poslední prvek matice není 0, zbývající číslice jsou seskupené podle posledního prvku matice. Pokud je poslední prvek 0, zbývající číslice nejsou seskupené.
Pokud například matice obsahuje { 3, 4, 5 }, jsou číslice seskupené podobně jako "55 555555,55555,55555,44444 333,00". Pokud matice obsahuje { 3, 4, 0 }, jsou číslice seskupené podobně jako "55555555555555555,4444 333,00".