Vlastní číselné formátovací řetězce
Můžete vytvořit vlastní číselný formátovací řetězec, který se skládá z jednoho nebo více vlastních číselných specifikátorů pro definování formátování číselných dat. Vlastní číselný formátovací řetězec je formátovací řetězec, který není standardní číselný formátovací řetězec.
Vlastní číselné formátovací řetězce jsou podporovány některými přetíženími metody ToString pro všechny číselné typy. Například můžete zadat číselný formátovací řetězec metodám ToString(String) a ToString(String, IFormatProvider) typu Int32. Vlastní číselné formátovácí řetězce jsou také podporovány rozhraním .NET Framework pomocí funkce složeného formátování, která je používána některými metodami Write a WriteLine tříd Console a StreamWriter, metodamiString.Format a StringBuilder.AppendFormat.
Tip |
---|
Můžete stáhnout Formát nástrojeaplikace, která umožňuje použít formát řetězce číselné nebo datové a časové hodnoty a zobrazí výsledný řetězec. |
Následující tabulka popisuje vlastní specifikátory číselného formátu a zobrazí ukázkový výstup vyprodukovaný každým specifikátorem formátu. Další informace o použití vlastních číselných formátovacích řetězců naleznete v oddílu Poznámky a komplexní ukázky použití naleznete v oddílu Příklad.
Specifikátor formátu |
Název |
Popis |
Příklady |
---|---|---|---|
"0" |
Zástupný symbol nula |
Nahradí nulu odpovídající číslicí, pokud je dostupná. V opačném případě se nula zobrazí ve výsledném řetězci. Další informace: Vlastní specifikátor 0. |
1234.5678 ("00000") -> 01235 0.45678 ("0.00", en-US) -> 0.46 0.45678 ("0.00", fr-FR) -> 0,46 |
"#" |
Zástupný symbol číslice |
Nahradí znak libry odpovídající číslicí, pokud je k dispozici. V opačném případě se nezobrazí žádná číslice ve výsledném řetězci. Další informace: Vlastní specifikátor #. |
1234.5678 ("#####") -> 1235 0.45678 ("#.##", en-US) -> .46 0.45678 ("#.##", fr-FR) -> ,46 |
"." |
Desetinná tečka |
Určuje umístění oddělovače desetinných míst ve výsledném řetězci. Další informace: Vlastní specifikátor ".". |
0.45678 ("0.00", en-US) -> 0.46 0.45678 ("0.00", fr-FR) -> 0,46 |
"," |
Oddělovač skupin a číselné měřítko |
Slouží jako oddělovač skupin a specifikátor číselného měřítka. Jako oddělovač skupin vloží znak oddělovače skupiny podle jazykové verze mezi jednotlivé skupiny. Jako specifikátor měřítka rozdělí číslo po 1000 pro každou zadanou čárku. Další informace: Vlastní specifikátor ,. |
Specifikátor oddělovače skupin: 2147483647 ("##,#", en-US) -> 2,147,483,647 2147483647 ("##,#", es-ES) -> 2.147.483.647 Specifikátor škálování: 2147483647 ("#,#,,", en-US) -> 2,147 2147483647 ("#,#,,", es-ES) -> 2.147 |
"%" |
Zástupný znak procent. |
Vynásobí číslo 100 a vloží do výsledného řetězce symbol procenta podle jazykové verze. Další informace: Vlastní specifikátor %. |
0.3697 ("%#0.00", en-US) -> %36.97 0.3697 ("%#0.00", el-GR) -> %36,97 0.3697 ("##.0 %", en-US) -> 37.0 % 0.3697 ("##.0 %", el-GR) -> 37,0 % |
"‰" |
Zástupný symbol promile |
Vynásobí číslo 1000 a vloží do výsledného řetězce symbol promile podle jazykové verze. Další informace: Vlastní specifikátor ‰. |
0.03697 ("#0.00‰", en-US) -> 36.97‰ 0.03697 ("#0.00‰", ru-RU) -> 36,97‰ |
"E0" "E+0" "E-0" "e0" "e+0" "e-0" |
Exponenciální zápis |
Pokud následuje alespoň jedna 0 (nula), zformátuje výsledek pomocí exponenciálního zápisu. Velikost písmen E nebo e označuje velikost symbolu exponentu ve výsledném řetězci. Počet nul následujících znak E nebo e určuje minimální počet číslic v exponentu. Znaménko plus (+) označuje, že znak znaménka vždy předchází exponent. Symbol mínus (-) označuje, že znak znaménka předchází pouze u záporných exponentů. Další informace: Vlastní specifikátory E a e. |
987654 ("#0.0e0") -> 98.8e4 1503.92311 ("0.0##e+00") -> 1.504e+03 1.8901385E-16 ("0.0e+00") -> 1.9e-16 |
\ |
Řídící znak |
Způsobí, že následující znak je interpretován jako literální a nikoli jako vlastní specifikátor formátu. Další informace: Řídicí znak \. |
987654 ("\###00\#") -> #987654# |
"řetězec" "string" |
Oddělovač literálního řetězce |
Označuje, že uzavřené znaky by měly být zkopírovány do výsledného řetězce beze změny. |
68 ("# ' degrees'") -> 68 degrees 68 ("#' degrees'") -> 68 degrees |
; |
Oddělovač oddílu |
Definuje sekce se zvláštními formátovacími řetězci pro kladná, záporná a nulová čísla. Další informace: Oddělovač oddílu ;. |
12.345 ("#0.0#;(#0.0#);-\0-") -> 12.35 0 ("#0.0#;(#0.0#);-\0-") -> -0- -12.345 ("#0.0#;(#0.0#);-\0-") -> (12.35) 12.345 ("#0.0#;(#0.0#)") -> 12.35 0 ("#0.0#;(#0.0#)") -> 0.0 -12.345 ("#0.0#;(#0.0#)") -> (12.35) |
Jiné |
Všechny ostatní znaky |
Znak je zkopírován do výsledného řetězce beze změny. |
68 ("# °") -> 68 ° |
V následujících částech jsou uvedeny podrobné informace o jednotlivých vlastních specifikátorech číselného formátu.
Vlastní specifikátor 0.
Vlastní specifikátor formátu 0 slouží jako zástupný symbol nuly. Pokud hodnota, která je formátována má číslici na pozici, kde se zobrazí nula ve formátovacím řetězci, tato číslice je zkopírována do výsledného řetězce. V opačném případě se zobrazí nula ve výsledném řetězci. Pozice nuly nejvíce vlevo od desetinné čárky a nuly nejvíce vpravo od desetinné čárky určuje rozsah číslic, které jsou vždy obsaženy ve výsledném řetězci.
Specifikátor 00 způsobí, že hodnota se zaokrouhlí na nejbližší číslici předcházející desítky, kde je vždy použito zaokrouhlení směrem od nuly. Například formátování 34.5 s 00 dává výslednou hodnotu 35.
Následující příklad zobrazí několik hodnot, které jsou formátovány pomocí vlastních formátovacích řetězců, které obsahují zástupné symboly nuly.
Dim value As Double
value = 123
Console.WriteLine(value.ToString("00000"))
' Displays 00123
value = 1.2
Console.Writeline(value.ToString("0.00", CultureInfo.InvariantCulture))
' Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture))
' Displays 01.20
Console.WriteLine(value.ToString("00.00", _
CultureInfo.CreateSpecificCulture("da-DK")))
' Displays 01,20
value = .56
Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture))
' Displays 0.6
value = 1234567890
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture))
' Displays 1,234,567,890
Console.WriteLine(value.ToString("0,0",
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 1.234.567.890
value = 1234567890.123456
Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture))
' Displays 1,234,567,890.1
value = 1234.567890
Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture))
' Displays 1,234.57
double value;
value = 123;
Console.WriteLine(value.ToString("00000"));
// Displays 00123
value = 1.2;
Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
// Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
// Displays 01.20
Console.WriteLine(value.ToString("00.00",
CultureInfo.CreateSpecificCulture("da-DK")));
// Displays 01,20
value = .56;
Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture));
// Displays 0.6
value = 1234567890;
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture));
// Displays 1,234,567,890
Console.WriteLine(value.ToString("0,0",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 1.234.567.890
value = 1234567890.123456;
Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture));
// Displays 1,234,567,890.1
value = 1234.567890;
Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture));
// Displays 1,234.57
Zpět na tabulku
Vlastní specifikátor #
Vlastní specifikátor formátu # slouží jako zástupný symbol číslice. Pokud hodnota, která je formátována má číslici na pozici, kde se nachází ve formátovacím řetězci znak libry, zkopíruje se číslice do výsledného řetězce. V opačném případě není na této pozici v řetězci uloženo nic.
Povšimněte si, že tento specifikátor nikdy nezobrazí nulu, která není platnou číslici, i v případě, že je nula jedinou číslicí v řetězci. Nulu zobrazí pouze v případě, že je podstatnou číslicí v zobrazeném řetězci.
Formátovací řetězec ## způsobí, že hodnota se zaokrouhlí na nejbližší číslici předcházející desítky, kde je vždy použito zaokrouhlení směrem od nuly. Například formátování 34.5 s ## dává výslednou hodnotu 35.
Následující příklad zobrazí několik hodnot, které jsou formátovány pomocí vlastních formátovacích řetězců, které obsahují zástupné symboly číslic.
Dim value As Double
value = 1.2
Console.WriteLine(value.ToString("#.##", CultureInfo.InvariantCulture))
' Displays 1.2
value = 123
Console.WriteLine(value.ToString("#####"))
' Displays 123
value = 123456
Console.WriteLine(value.ToString("[##-##-##]"))
' Displays [12-34-56]
value = 1234567890
Console.WriteLine(value.ToString("#"))
' Displays 1234567890
Console.WriteLine(value.ToString("(###) ###-####"))
' Displays (123) 456-7890
double value;
value = 1.2;
Console.WriteLine(value.ToString("#.##", CultureInfo.InvariantCulture));
// Displays 1.2
value = 123;
Console.WriteLine(value.ToString("#####"));
// Displays 123
value = 123456;
Console.WriteLine(value.ToString("[##-##-##]"));
// Displays [12-34-56]
value = 1234567890;
Console.WriteLine(value.ToString("#"));
// Displays 1234567890
Console.WriteLine(value.ToString("(###) ###-####"));
// Displays (123) 456-7890
Zpět na tabulku
Vlastní specifikátor "."
Vlastní specifikátor formátu "." vloží lokalizovaný oddělovač desetinných míst do výsledného řetězce. První tečka ve formátovacím řetězci určuje umístění oddělovače desetinných míst ve formátované hodnotě. Jakékoli další tečky jsou ignorovány.
Znak, který je použit jako oddělovač desetinných míst ve výsledném řetězci není vždy tečka. Je určen vlastností NumberDecimalSeparator objektu NumberFormatInfo, který řídí formátování.
Následující příklad používá specifikátor formátu "." pro určení umístění desetinné tečky v několika výsledných řetězcích.
Dim value As Double
value = 1.2
Console.Writeline(value.ToString("0.00", CultureInfo.InvariantCulture))
' Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture))
' Displays 01.20
Console.WriteLine(value.ToString("00.00", _
CultureInfo.CreateSpecificCulture("da-DK")))
' Displays 01,20
value = .086
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture))
' Displays 8.6%
value = 86000
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture))
' Displays 8.6E+4
double value;
value = 1.2;
Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
// Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
// Displays 01.20
Console.WriteLine(value.ToString("00.00",
CultureInfo.CreateSpecificCulture("da-DK")));
// Displays 01,20
value = .086;
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture));
// Displays 8.6%
value = 86000;
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
// Displays 8.6E+4
Zpět na tabulku
Vlastní specifikátor ","
Znak "," slouží jako oddělovač skupin a specifikátor číselného měřítka.
Oddělovač skupin: Pokud je zadána jedna nebo více čárek mezi dva zástupné znaky pro číslice (0 nebo #), které formátují integrální číslice čísla, je znak oddělovače skupin vložen mezi každou číselnou skupinu do integrální části výstupu.
Vlastnosti NumberGroupSeparator a NumberGroupSizes aktuálního objektu NumberFormatInfo určí znak použitý jako oddělovač číselných skupin a velikost každé skupiny čísel. Například pokud je použitý řetězec #,# a invariantní jazyková verze pro formátování čísla 1000, zobrazí se výstup 1000.
Specifikátor číslného měřítka: Pokud je zadána jedna nebo více čárek bezprostředně vlevo od explicitní nebo implicitní desetinné tečky, číslo, které má být formátováno je vyděleno hodnotou 1000 pro každou tečku. Například pokud je použitý řetězec "0,," pro formátování čísla 100 milionů, výstup je 100.
Můžete použít oddělovač skupin a specifikátory číselného měřítka ve stejném formátovacím řetězci. Například pokud je použitý řetězec "#,0,," a invariantní jazyková verze pro formátování čísla jedna miliarda, zobrazí se výstup 1,000.
Následující příklad ukazuje použití čárky jako oddělovače skupin.
Dim value As Double = 1234567890
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture))
' Displays 1,234,567,890
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture))
' Displays 1,235
double value = 1234567890;
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture));
// Displays 1,234,567,890
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));
// Displays 1,235
Následující příklad ukazuje použití čárky jako specifikátoru číselného měřítka.
Dim value As Double = 1234567890
Console.WriteLine(value.ToString("#,,", CultureInfo.InvariantCulture))
' Displays 1235
Console.WriteLine(value.ToString("#,,,", CultureInfo.InvariantCulture))
' Displays 1
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture))
' Displays 1,235
double value = 1234567890;
Console.WriteLine(value.ToString("#,,", CultureInfo.InvariantCulture));
// Displays 1235
Console.WriteLine(value.ToString("#,,,", CultureInfo.InvariantCulture));
// Displays 1
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));
// Displays 1,235
Zpět na tabulku
Vlastní specifikátor %
Znak procent % ve formátovacím řetězci způsobí, že číslo bude vynásobené hodnotou 100 dříve, než je formátováno. Lokalizovaný symbol procenta je vložen do čísla na místo, kde se % vyskytuje ve formátovacím řetězci. Použitý znak % je definován vlastností PercentSymbol aktuálního objektu NumberFormatInfo.
Následující příklad definuje několik vlastních formátovacích řetězců, které obsahují vlastní specifikátor %.
Dim value As Double = .086
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture))
' Displays 8.6%
double value = .086;
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture));
// Displays 8.6%
Zpět na tabulku
Vlastní specifikátor ‰
Znak promile ‰ nebo \u2030 ve formátovacím řetězci způsobí, že číslo se vynásobí hodnotou 1000 dříve, než je formátováno. Příslušný symbol promile je vložen do vráceného řetězce na místě, kde se zobrazí symbol ‰ ve formátovacím řetězci. Použitý znak promile je definován vlastností NumberFormatInfo.PerMilleSymbol objektu, který poskytuje informace o formátování podle jazykové verze.
Následující příklad definuje vlastní formátovací řetězec, který obsahuje vlastní specifikátor ‰.
Dim value As Double = .00354
Dim perMilleFmt As String = "#0.## " & ChrW(&h2030)
Console.WriteLine(value.ToString(perMilleFmt, CultureInfo.InvariantCulture))
' Displays 3.54 ‰
double value = .00354;
string perMilleFmt = "#0.## " + '\u2030';
Console.WriteLine(value.ToString(perMilleFmt, CultureInfo.InvariantCulture));
// Displays 3.54‰
Zpět na tabulku
Vlastní specifikátory E a e
Pokud je přítomný některý z řetězců E, E +, E-, e, e +, nebo e- ve formátovacím řetězci a je okamžitě následován alespoň jednou nulou, číslo je formátováno pomocí matematického zápisu se znakem E nebo e vloženém mezi číslo a exponent. Počet nul následujících po indikátoru matematického zápisu určuje minimální počet číslic pro výstup exponentu. Formáty E+ a e+ označují, že znaménka plus nebo minus by měla vždy předcházet exponent. Formáty E, E, e nebo e- označují, že znak znaménka by měl předcházet pouze u záporných exponentů.
Následující příklad formátuje několik číselných hodnot pomocí specifikátorů pro matematický zápis.
Dim value As Double = 86000
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture))
' Displays 8.6E+4
Console.WriteLine(value.ToString("0.###E+000", CultureInfo.InvariantCulture))
' Displays 8.6E+004
Console.WriteLine(value.ToString("0.###E-000", CultureInfo.InvariantCulture))
' Displays 8.6E004
double value = 86000;
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
// Displays 8.6E+4
Console.WriteLine(value.ToString("0.###E+000", CultureInfo.InvariantCulture));
// Displays 8.6E+004
Console.WriteLine(value.ToString("0.###E-000", CultureInfo.InvariantCulture));
// Displays 8.6E004
Zpět na tabulku
Řídící znak \
Symboly #, 0, (.), (,) , % a ‰ jsou ve formátovacím řetězci interpretovány jako specifikátory formátu, nikoli jako literální znaky. V závislosti na jejich umístění ve vlastním formátovacím řetězci, velké a malé písmeno E, stejně jako symboly + a - mohou být také interpretovány jako specifikátory formátu.
Chcete-li zabránit interpretaci znaku jako specifikátor formátu, můžete před znak vložit zpětné lomítko \, což je řídicí znak. Řídicí znak označuje, že následující znak je literální znak, který by měl být zařazen do výsledného řetězce beze změny.
Pro vložení zpětného lomítka do výsledného řetězce před něj musíte vložit další zpětné lomítko (\\).
Poznámka |
---|
Některé kompilátory, jako jsou například kompilátory jazyka C++ a jazyka C# mohou také interpretovat jedno zpětné lomítko jako řídicí znak.Pro ujištění se, že řetězec je interpretován při formátování správně, můžete použít literální řetězcový znak verbatim (znak @) před řetězcem v jazyce C# nebo přidat další znak zpětného lomítka před každé zpětné lomítko v jazyce C# a C++.Následující příklad jazyka C# ukazuje oba přístupy. |
Následující příklad používá řídicí znak, aby zabránil formátovacím operacím v interpretaci znaků #, 0 a \ jako specifikátorů formátu nebo řídících znaků. Příklady jazyka C# používají další zpětné lomítko pro zajištění, že zpětné lomítko je interpretováno jako literální znak.
Dim value As Integer = 123
Console.WriteLine(value.ToString("\#\#\# ##0 dollars and \0\0 cents \#\#\#"))
' Displays ### 123 dollars and 00 cents ###
Console.WriteLine(value.ToString("\\\\\\ ##0 dollars and \0\0 cents \\\\\\"))
' Displays \\\ 123 dollars and 00 cents \\\
int value = 123;
Console.WriteLine(value.ToString("\\#\\#\\# ##0 dollars and \\0\\0 cents \\#\\#\\#"));
// Displays ### 123 dollars and 00 cents ###
Console.WriteLine(value.ToString(@"\#\#\# ##0 dollars and \0\0 cents \#\#\#"));
// Displays ### 123 dollars and 00 cents ###
Console.WriteLine(value.ToString("\\\\\\\\\\\\ ##0 dollars and \\0\\0 cents \\\\\\\\\\\\"));
// Displays \\\ 123 dollars and 00 cents \\\
Console.WriteLine(value.ToString(@"\\\\\\ ##0 dollars and \0\0 cents \\\\\\"));
// Displays \\\ 123 dollars and 00 cents \\\
Zpět na tabulku
Oddělovač oddílu ;
Středník ; je podmíněný specifikátor formátu, který aplikuje odlišné formátování pro číslo v závislosti na tom, zda je jeho hodnota kladná, záporná nebo nulová. Pro vytvoření takového typu formátování může vlastní formátovací řetězec obsahovat až tři oddíly, oddělené středníky. Tyto oddíly jsou popsány v následující tabulce.
Počet oddílů |
Popis |
---|---|
Jeden oddíl |
Formátovací řetězec se vztahuje na všechny hodnoty. |
Dva oddíly |
První oddíl je aplikován na kladné a nulové hodnoty a druhý oddíl je aplikován na záporné hodnoty. Pokud číslo, které má být formátováno je záporné, ale bude po zaokrouhlení podle formátu ve druhém oddílu rovno nule, výsledná nula bude formátována podle prvního oddílu. |
Tři oddíly |
První oddíl se aplikuje na kladná čísla a druhý oddíl na záporné hodnoty a třetí oddíl na nulové hodnoty. Druhá část může být ponechána prázdná (tím, že mezi středníky nic nebude). V tomto případě se první část vztahuje na všechny nenulové hodnoty. Pokud číslo, které má být formátováno je nenulové, ale bude po zaokrouhlení podle formátu v prvním nebo druhém oddílu rovno nule, výsledná nula bude formátována podle třetího oddílu. |
Oddělovače oddílů ignorují všechny dříve existující formátování přidružené k číslu, když je formátovaná konečné hodnota. Například záporné hodnoty se zobrazí vždy bez znaménka minus při použití oddělovače oddílu. Pokud chcete, aby konečná formátovaná hodnota měla symbol mínus, měli byste explicitně zahrnout mínus jako část vlastního specifikátoru formátu.
Následující příklad používá specifikátor formátu ; pro formátování kladných, záporných a nulových čísel odlišným způsobem.
Dim posValue As Double = 1234
Dim negValue As Double = -1234
Dim zeroValue As Double = 0
Dim fmt2 As String = "##;(##)"
Dim fmt3 As String = "##;(##);**Zero**"
Console.WriteLine(posValue.ToString(fmt2)) ' Displays 1234
Console.WriteLine(negValue.ToString(fmt2)) ' Displays (1234)
Console.WriteLine(zeroValue.ToString(fmt3)) ' Displays **Zero**
double posValue = 1234;
double negValue = -1234;
double zeroValue = 0;
string fmt2 = "##;(##)";
string fmt3 = "##;(##);**Zero**";
Console.WriteLine(posValue.ToString(fmt2)); // Displays 1234
Console.WriteLine(negValue.ToString(fmt2)); // Displays (1234)
Console.WriteLine(zeroValue.ToString(fmt3)); // Displays **Zero**
Zpět na tabulku
Poznámky
Nekonečno s plovoucí desetinnou čárkou a výraz Není číslo
Bez ohledu na formátovací řetězec, pokud je hodnota typu s plovoucí desetinnou čárkou Single nebo Double kladné nekonečno, záporné nekonečno nebo není číslo (NaN), formátovaný řetězec je hodnotou příslušné vlastnosti PositiveInfinitySymbol, NegativeInfinitySymbol nebo NaNSymbol zadané pomocí aktuálního použitého objektu NumberFormatInfo.
Nastavení ovládacích panelů
Nastavení v položce Místní a jazykové nastavení v Ovládacích panelech ovlivní výsledný řetězec vytvořený při operaci formátování. Tato nastavení slouží k inicializaci objektu NumberFormatInfo přidruženého k aktuální jazykové verzi vlákna, která poskytuje hodnoty použité k řízení formátování. Počítače, které používají různá nastavení generují různé výsledné řetězce.
Kromě toho, pokud použijete konstruktor CultureInfo.CultureInfo(String) pro vytvoření instance nového objektu CultureInfo představujícího stejnou jazykovou verzi jako je aktuální jazyková verze systému, jakékoli vlastní nastavení z položky Místní a jazykové nastavení v Ovládacích panelech budou použita pro nový objekt CultureInfo. Můžete použít konstruktor CultureInfo.CultureInfo(String, Boolean) pro vytvoření objektu CultureInfo, který nereflektuje vlastní nastavení systému.
Formátovací řetězce se zaokrouhlováním a pevnou desetinnou čárkou
Pro formátovací řetězce s pevnou desetinnou čárkou (což jsou formátovací řetězce, které neobsahují vědecké formátovací znaky) jsou čísla zaokrouhleny na tolik desetinných míst, kolik je zástupných symbolů číslic napravo od desetinné čárky. Pokud formátovací řetězec neobsahuje desetinnou čárku, bude číslo zaokrouhleno na nejbližší celé číslo. Pokud má dané číslo více číslic než je počet zástupných symbolů číslic nalevo od desetinné čárky, jsou další číslice zkopírovány do výsledného řetězce bezprostředně před první zástupný symbol číslice.
Zpět na tabulku
Příklad
Následující příklad ukazuje dva vlastní číselné formátovací řetězce. V obou případech zástupný symbol číslice (#) zobrazí číselná data a všechny ostatní znaky jsou zkopírovány do výsledného řetězce.
Dim number1 As Double = 1234567890
Dim value1 As String = number1.ToString("(###) ###-####")
Console.WriteLine(value1)
Dim number2 As Integer = 42
Dim value2 As String = number2.ToString("My Number = #")
Console.WriteLine(value2)
' The example displays the following output:
' (123) 456-7890
' My Number = 42
double number1 = 1234567890;
string value1 = number1.ToString("(###) ###-####");
Console.WriteLine(value1);
int number2 = 42;
string value2 = number2.ToString("My Number = #");
Console.WriteLine(value2);
// The example displays the following output:
// (123) 456-7890
// My Number = 42
Zpět na tabulku
Viz také
Úkoly
Postupy: Doplnit číslo úvodními nulami
Odkaz
Koncepty
Standardní číselné formátovací řetězce
Historie změn
Datum |
Poslední dokumenty |
Důvod |
---|---|---|
Březen 2011 |
Přidat odkaz do formátu nástroje. |
Rozšíření informace |