Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Standardowe ciągi formatu liczbowego służą do formatowania typowych typów liczbowych. Standardowy ciąg formatu liczbowego przyjmuje formę [format specifier][precision specifier]
, gdzie:
Specyfikator formatu to pojedynczy znak alfabetyczny, który określa typ formatu liczbowego, na przykład walutę lub procent. Każdy ciąg formatu liczbowego, który zawiera więcej niż jeden znak alfabetyczny, w tym biały znak, jest interpretowany jako niestandardowy ciąg formatu liczbowego. Aby uzyskać więcej informacji, zobacz Niestandardowe ciągi formatu liczbowego.
Specyfikator dokładności to opcjonalna liczba całkowita, która wpływa na liczbę cyfr w wynikowym ciągu. W wersjach .NET 7 i nowszych maksymalna precyzja wynosi 999 999 999 999. W programie .NET 6 maksymalna wartość precyzji to Int32.MaxValue. W poprzednich wersjach platformy .NET precyzja może wynosić od 0 do 99. Specyfikator dokładności określa liczbę cyfr w ciągu reprezentującym liczbę. Nie zaokrągla samej liczby. Aby wykonać operację zaokrąglania, użyj Math.Ceilingmetody , Math.Floorlub Math.Round .
Gdy specyfikator dokładności kontroluje liczbę cyfr ułamkowych w ciągu wynikowym, ciąg wynikowy odzwierciedla liczbę zaokrągloną do możliwego do reprezentowania wyniku najbliższego nieskończonie dokładnego wyniku. Jeśli istnieją dwa równie zbliżone do reprezentowania wyniki:
- W programach .NET Framework i .NET Core do .NET Core 2.0 środowisko uruchomieniowe wybiera wynik z najmniej znaczącą cyfrą (czyli przy użyciu polecenia MidpointRounding.AwayFromZero).
- W programie .NET Core 2.1 lub nowszym środowisko uruchomieniowe wybiera wynik z najmniej znaczącą cyfrą (czyli przy użyciu polecenia MidpointRounding.ToEven).
Uwaga
Specyfikator dokładności określa liczbę cyfr w ciągu wynikowym. Aby wypełnić ciąg wynikowy z wiodącymi lub końcowymi spacjami, użyj funkcji formatowania złożonego i zdefiniuj składnik szerokości w elemencie formatu.
Standardowe ciągi formatu liczbowego są obsługiwane przez:
Niektóre przeciążenia
ToString
metody wszystkich typów liczbowych. Na przykład można podać ciąg formatu liczbowego do Int32.ToString(String) metod i Int32.ToString(String, IFormatProvider) .Metoda
TryFormat
wszystkich typów liczbowych, na przykład i Int32.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)Single.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider).Funkcja formatowania złożonego
Write
platformy .NET, która jest używana przez niektóreWriteLine
metody i Console klasy, StreamWriter metodę String.Format i metodę StringBuilder.AppendFormat . Funkcja formatu złożonego umożliwia uwzględnienie reprezentacji ciągu wielu elementów danych w jednym ciągu w celu określenia szerokości pola i wyrównania liczb w polu. Aby uzyskać więcej informacji, zobacz Formatowanie złożone.Ciągi interpolowane w języku C# i Visual Basic, które zapewniają uproszczoną składnię w porównaniu z ciągami formatu złożonego.
Wskazówka
Możesz pobrać narzędzie formatowania, aplikację .NET Core Windows Forms, która umożliwia stosowanie ciągów formatu do wartości liczbowych lub daty i godziny oraz wyświetlania ciągu wyników. Kod źródłowy jest dostępny dla języka C# i Visual Basic.
Specyfikatory formatu standardowego
W poniższej tabeli opisano standardowe specyfikatory formatu liczbowego i przedstawiono przykładowe dane wyjściowe generowane przez każdy specyfikator formatu. Aby uzyskać dodatkowe informacje na temat używania standardowych ciągów formatu liczbowego, zobacz sekcjęPrzykład kodu , aby uzyskać kompleksową ilustrację ich użycia.
Wynik sformatowanego ciągu dla określonej kultury może się różnić od poniższych przykładów. Ustawienia systemu operacyjnego, ustawienia użytkownika, zmienne środowiskowe i używana wersja platformy .NET mogą mieć wpływ na format. Na przykład począwszy od platformy .NET 5 platforma .NET próbuje ujednolicić formaty kulturowe na różnych platformach. Aby uzyskać więcej informacji, zobacz Globalizacja platformy .NET i ICU.
Specyfikator formatu | Nazwa | Opis | Przykłady |
---|---|---|---|
"B" lub "b" | Dwójkowy | Wynik: ciąg binarny. Obsługiwane przez: tylko typy całkowite (.NET 8+). Specyfikator dokładności: liczba cyfr w ciągu wynikowym. Więcej informacji: Specyfikator formatu binarnego ("B"). |
art. 42 ("B") - Numer katalogowy 101010> TGL 255 ("B16") -> 0000000011111111 |
"C" lub "c" | Waluta | Wynik: wartość waluty. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: liczba cyfr dziesiętnych. Domyślny specyfikator dokładności: zdefiniowany przez NumberFormatInfo.CurrencyDecimalDigits. Więcej informacji: Specyfikator formatu waluty ("C"). |
123.456 ("C", en-US) -> 123,46 zł 123.456 ("C", fr-FR) -> 123,46 € 123.456 ("C", ja-JP) -> {123 -123.456 ("C3", en-US) -> (\$123.456) -123.456 ("C3", fr-FR) -> -123,456 € -123.456 ("C3", ja-JP) -> --¬123.456 |
"D" lub "d" | Liczba dziesiętna | Wynik: cyfry całkowite z opcjonalnym znakiem ujemnym. Obsługiwane przez: tylko typy całkowite. Specyfikator dokładności: minimalna liczba cyfr. Domyślny specyfikator dokładności: wymagana minimalna liczba cyfr. Więcej informacji: Specyfikator formatu Dziesiętnego("D"). |
1234 ("D") -> 1234 SZT. -1234 ("D6") -> -001234 |
"E" lub "e" | Wykładniczy (naukowy) | Wynik: notacja wykładnicza. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: liczba cyfr dziesiętnych. Domyślny specyfikator dokładności: 6. Więcej informacji: Specyfikator formatu wykładniczego ("E"). |
1052.032912756 ("E", en-US) -> 1.052033E+003 1052.032912756 ("e", fr-FR) -> 1052033e+003 -1052.032912756 ("e2", en-US) -> -1.05e+003 -1052.032912756 ("E2", fr-FR) -> -1,05E+003 |
"F" lub "f" | Punkt stały | Wynik: cyfry całkowite i dziesiętne z opcjonalnym znakiem ujemnym. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: liczba cyfr dziesiętnych. Domyślny specyfikator dokładności: zdefiniowany przez NumberFormatInfo.NumberDecimalDigits. Więcej informacji: Specyfikator formatu Fixed-Point ("F"). |
1234,567 ("F", en-US) -> 1234.57 1234.567 ("F", de-DE) -> 1234,57 szt. 1234 ("F1", en-US) -> 1234,0 szt. 1234 ("F1", de-DE) -> 1234,0 szt. -1234.56 ("F4", en-US) -> -1234.5600 -1234.56 ("F4", de-DE) -> -1234 5600 szt. |
"G" lub "g" | Ogólne | Wynik: Bardziej kompaktowy zapis o stałym punkcie lub notacji naukowej. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: liczba cyfr znaczących. Domyślny specyfikator dokładności: zależy od typu liczbowego. Więcej informacji: Specyfikator formatu ogólnego ("G"). |
-123.456 ("G", en-US) -> -123.456 -123,456 ("G", sv-SE) -> -123 456 osób 123.4546 ("G4", en-US) -> 123,5 pkt. 123.4546 ("G4", sv-SE) -> 123,5 szt. -1.234567890e-25 ("G", en-US) -> -1.23456789E-25 -1.234567890e-25 ("G", sv-SE) -> -1,23456789E-25 |
"N" lub "n" | Liczba | Wynik: cyfry całkowite i dziesiętne, separatory grup i separator dziesiętny z opcjonalnym znakiem ujemnym. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: żądana liczba miejsc dziesiętnych. Domyślny specyfikator dokładności: zdefiniowany przez NumberFormatInfo.NumberDecimalDigits. Więcej informacji: Specyfikator formatu liczbowego ("N"). |
1234.567 ("N", en-US) -> 1,234,57 1234.567 ("N", ru-RU) -> 1 234 57 1234 ("N1", en-US) -> 1234.0 1234 ("N1", ru-RU) -> 1 234,0 szt. -1234.56 ("N3", en-US) -> -1 234 560 zł -1234.56 ("N3", ru-RU) -> -1 234 560 |
"P" lub "p" | Procent | Wynik: liczba pomnożona przez 100 i wyświetlana z symbolem procentu. Obsługiwane przez: wszystkie typy liczbowe. Specyfikator dokładności: żądana liczba miejsc dziesiętnych. Domyślny specyfikator dokładności: zdefiniowany przez NumberFormatInfo.PercentDecimalDigits. Więcej informacji: Specyfikator formatu procentu ("P"). |
1 ("P", en-US) -> 100,00 % 1 ("P", fr-FR) -> 100 00 % -0,39678 ("P1", en-US) -> -39,7 % -0,39678 ("P1", fr-FR) -> -39,7 % |
"R" lub "r" | Błądzenia | Wynik: ciąg, który może zaokrąglać liczbę do identycznej liczby. Obsługiwane przez: Single, Doublei BigInteger. Uwaga: zalecane tylko dla BigInteger typu. W przypadku typów użyj "G17"; w przypadku DoubleSingle typów użyj "G9". Specyfikator dokładności: ignorowany. Więcej informacji: Specyfikator formatu round-trip ("R"). |
123456789.12345678 ("R") -> 123456789.12345678 -1234567890.12345678 ("R") -> -1234567890.1234567 |
"X" lub "x" | Szesnastkowy | Wynik: ciąg szesnastkowy. Obsługiwane przez: tylko typy całkowite. Specyfikator dokładności: liczba cyfr w ciągu wynikowym. Więcej informacji: Specyfikator formatu szesnastkowego ("X"). |
255 ("X") -> FF (Nie) -1 ("x") -> ff 255 ("x4") -> 00ff (strona tysiącst) -1 ("X4") -> 00FF (Księga Śródstopna) |
Dowolny inny pojedynczy znak | Nieznany specyfikator | Wynik: zgłasza FormatException błąd w czasie wykonywania. |
Używanie standardowych ciągów formatu liczbowego
Uwaga
Przykłady języka C# w tym artykule działają w Try.NET wbudowanym modułem uruchamiającym kod i placem zabaw. Wybierz przycisk Uruchom , aby uruchomić przykład w oknie interaktywnym. Po wykonaniu kodu można go zmodyfikować i uruchomić zmodyfikowany kod, wybierając pozycję Uruchom ponownie. Zmodyfikowany kod jest uruchamiany w oknie interaktywnym lub, jeśli kompilacja zakończy się niepowodzeniem, w oknie interaktywnym zostaną wyświetlone wszystkie komunikaty o błędach kompilatora języka C#.
Standardowy ciąg formatu liczbowego może służyć do definiowania formatowania wartości liczbowej w jeden z następujących sposobów:
Można go przekazać do
TryFormat
metody lub przeciążeniaToString
metody, która maformat
parametr. Poniższy przykład formatuje wartość liczbową jako ciąg waluty w bieżącej kulturze (w tym przypadku en-US kultury).decimal value = 123.456m; Console.WriteLine(value.ToString("C2")); // Displays $123.46
Dim value As Decimal = 123.456d Console.WriteLine(value.ToString("C2")) ' Displays $123.46
Można go podać jako
formatString
argument w elemencie formatu używanym z takimi metodami jak String.Format, Console.WriteLinei StringBuilder.AppendFormat. Aby uzyskać więcej informacji, zobacz Formatowanie złożone. W poniższym przykładzie użyto elementu formatu do wstawienia wartości waluty w ciągu.decimal value = 123.456m; Console.WriteLine($"Your account balance is {value:C2}."); // Displays "Your account balance is $123.46."
Dim value As Decimal = 123.456d Console.WriteLine("Your account balance is {0:C2}.", value) ' Displays "Your account balance is $123.46."
Opcjonalnie możesz podać
alignment
argument, aby określić szerokość pola liczbowego i określić, czy jego wartość jest wyrównana do prawej, czy lewej. Poniższy przykład wyrównuje wartość waluty w polu 28 znaków i wyrównuje wartość waluty w polu 14-znakowym.decimal[] amounts = { 16305.32m, 18794.16m }; Console.WriteLine(" Beginning Balance Ending Balance"); Console.WriteLine(" {0,-28:C2}{1,14:C2}", amounts[0], amounts[1]); // Displays: // Beginning Balance Ending Balance // $16,305.32 $18,794.16
Dim amounts() As Decimal = {16305.32d, 18794.16d} Console.WriteLine(" Beginning Balance Ending Balance") Console.WriteLine(" {0,-28:C2}{1,14:C2}", amounts(0), amounts(1)) ' Displays: ' Beginning Balance Ending Balance ' $16,305.32 $18,794.16
Można go podać jako
formatString
argument w elemencie wyrażenia interpolowanego ciągu interpolowanego. Aby uzyskać więcej informacji, zobacz artykuł Interpolacja ciągów w dokumentacji języka C# lub artykuł Ciągi interpolowane w dokumentacji języka Visual Basic.
Poniższe sekcje zawierają szczegółowe informacje na temat każdego ze standardowych ciągów formatu liczbowego.
Specyfikator formatu binarnego (B)
Specyfikator formatu binarnego ("B") konwertuje liczbę na ciąg cyfr binarnych. Ten format jest obsługiwany tylko w przypadku typów całkowitych i tylko na platformie .NET 8+.
Specyfikator dokładności wskazuje minimalną liczbę cyfr żądanych w wynikowym ciągu. Jeśli jest to wymagane, liczba jest dopełniana zerami po lewej stronie, aby wygenerować liczbę cyfr podanych przez specyfikator dokładności.
Ciąg wynikowy nie ma wpływu na informacje o formatowaniu bieżącego NumberFormatInfo obiektu.
Specyfikator formatu waluty (C)
Specyfikator formatu "C" (lub waluty) konwertuje liczbę na ciąg reprezentujący kwotę waluty. Specyfikator dokładności wskazuje żądaną liczbę miejsc dziesiętnych w ciągu wynikowym. Jeśli specyfikator dokładności zostanie pominięty, domyślna precyzja jest definiowana NumberFormatInfo.CurrencyDecimalDigits przez właściwość .
Jeśli wartość do sformatowania ma więcej niż określona lub domyślna liczba miejsc dziesiętnych, wartość ułamkowa jest zaokrąglana w ciągu wynikowym. Jeśli wartość po prawej stronie liczby określonych miejsc dziesiętnych wynosi 5 lub więcej, ostatnia cyfra w ciągu wynikowym jest zaokrąglona od zera.
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie zwracanego ciągu.
Właściwość NumberFormatInfo | Opis |
---|---|
CurrencyPositivePattern | Definiuje umieszczanie symbolu waluty dla wartości dodatnich. |
CurrencyNegativePattern | Definiuje położenie symbolu waluty dla wartości ujemnych i określa, czy znak ujemny jest reprezentowany przez nawiasy lub NegativeSign właściwość. |
NegativeSign | Definiuje używany znak ujemny, jeśli CurrencyNegativePattern wskazuje, że nawiasy nie są używane. |
CurrencySymbol | Definiuje symbol waluty. |
CurrencyDecimalDigits | Definiuje domyślną liczbę cyfr dziesiętnych w wartości waluty. Tę wartość można zastąpić przy użyciu specyfikatora dokładności. |
CurrencyDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite i dziesiętne. |
CurrencyGroupSeparator | Definiuje ciąg oddzielający grupy liczb całkowitych. |
CurrencyGroupSizes | Definiuje liczbę cyfr całkowitych wyświetlanych w grupie. |
Poniższy przykład formatuje Double wartość za pomocą specyfikatora formatu waluty:
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3",
CultureInfo.CreateSpecificCulture("da-DK")));
// The example displays the following output on a system whose
// current culture is English (United States):
// $12,345.68
// $12,345.679
// 12.345,679 kr
Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture))
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture))
Console.WriteLine(value.ToString("C3", _
CultureInfo.CreateSpecificCulture("da-DK")))
' The example displays the following output on a system whose
' current culture is English (United States):
' $12,345.68
' $12,345.679
' kr 12.345,679
Specyfikator formatu dziesiętnego (D)
Specyfikator formatu "D" (lub dziesiętny) konwertuje liczbę na ciąg cyfr dziesiętnych (0–9), poprzedzony znakiem minus, jeśli liczba jest ujemna. Ten format jest obsługiwany tylko w przypadku typów całkowitych.
Specyfikator dokładności wskazuje minimalną liczbę cyfr żądanych w wynikowym ciągu. Jeśli jest to wymagane, liczba jest dopełniana zerami po lewej stronie, aby wygenerować liczbę cyfr podanych przez specyfikator dokładności. Jeśli nie określono specyfikatora dokładności, wartość domyślna to minimalna wartość wymagana do reprezentowania liczby całkowitej bez zer wiodących.
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. Jak pokazano w poniższej tabeli, jedna właściwość wpływa na formatowanie ciągu wynikowego.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
Poniższy przykład formatuje Int32 wartość z specyfikatorem formatu dziesiętnego.
int value;
value = 12345;
Console.WriteLine(value.ToString("D"));
// Displays 12345
Console.WriteLine(value.ToString("D8"));
// Displays 00012345
value = -12345;
Console.WriteLine(value.ToString("D"));
// Displays -12345
Console.WriteLine(value.ToString("D8"));
// Displays -00012345
Dim value As Integer
value = 12345
Console.WriteLine(value.ToString("D"))
' Displays 12345
Console.WriteLine(value.ToString("D8"))
' Displays 00012345
value = -12345
Console.WriteLine(value.ToString("D"))
' Displays -12345
Console.WriteLine(value.ToString("D8"))
' Displays -00012345
Specyfikator formatu wykładniczego (E)
Specyfikator formatu wykładniczego ("E") konwertuje liczbę na ciąg formularza "-dddd... E+ddd" lub "-d.ddd... e+ddd", gdzie każdy "d" wskazuje cyfrę (0–9). Ciąg zaczyna się od znaku minus, jeśli liczba jest ujemna. Dokładnie jedna cyfra zawsze poprzedza punkt dziesiętny.
Specyfikator dokładności wskazuje żądaną liczbę cyfr po przecinku dziesiętnego. Jeśli specyfikator dokładności zostanie pominięty, zostanie użyta wartość domyślna sześciu cyfr po przecinku dziesiętnym.
Przypadek specyfikatora formatu wskazuje, czy prefiks wykładnika z literą "E" lub "e". Wykładnik zawsze składa się z znaku plus lub minus i co najmniej trzech cyfr. Wykładnik jest wypełniony zerami, aby spełnić to minimum, jeśli jest to wymagane.
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie zwracanego ciągu.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna zarówno dla współczynnika, jak i wykładnika. |
NumberDecimalSeparator | Definiuje ciąg, który oddziela cyfrę całkowitą od cyfr dziesiętnych w współczynniku. |
PositiveSign | Definiuje ciąg wskazujący, że wykładnik jest dodatni. |
Poniższy przykład formatuje Double wartość za pomocą specyfikatora formatu wykładniczego:
double value = 12345.6789;
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture));
// Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture));
// Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture));
// Displays 1.2346e+004
Console.WriteLine(value.ToString("E",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 1,234568E+004
Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture))
' Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture))
' Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture))
' Displays 1.2346e+004
Console.WriteLine(value.ToString("E", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 1,234568E+004
Specyfikator formatu stałego punktu (F)
Specyfikator formatu o stałym punkcie ("F") konwertuje liczbę na ciąg formularza "-dddd.ddd..." gdzie każdy znak "d" wskazuje cyfrę (0–9). Ciąg zaczyna się od znaku minus, jeśli liczba jest ujemna.
Specyfikator dokładności wskazuje żądaną liczbę miejsc dziesiętnych. Jeśli specyfikator dokładności zostanie pominięty, bieżąca NumberFormatInfo.NumberDecimalDigits właściwość dostarcza precyzję liczbową.
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono właściwości NumberFormatInfo obiektu, które kontrolują formatowanie ciągu wynikowego.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
NumberDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite od cyfr dziesiętnych. |
NumberDecimalDigits | Definiuje domyślną liczbę cyfr dziesiętnych. Tę wartość można zastąpić przy użyciu specyfikatora dokładności. |
Poniższy przykład formatuje Double wartość i Int32 z specyfikatorem formatu stałego punktu:
int integerNumber;
integerNumber = 17843;
Console.WriteLine(integerNumber.ToString("F",
CultureInfo.InvariantCulture));
// Displays 17843.00
integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3",
CultureInfo.InvariantCulture));
// Displays -29541.000
double doubleNumber;
doubleNumber = 18934.1879;
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture));
// Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture));
// Displays 18934
doubleNumber = -1898300.1987;
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));
// Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays -1898300,199
Dim integerNumber As Integer
integerNumber = 17843
Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 17843.00
integerNumber = -29541
Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture))
' Displays -29541.000
Dim doubleNumber As Double
doubleNumber = 18934.1879
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture))
' Displays 18934
doubleNumber = -1898300.1987
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture))
' Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays -1898300,199
Specyfikator formatu ogólnego (G)
Ogólny specyfikator formatu ("G") konwertuje liczbę na bardziej kompaktową notację o stałym punkcie lub notacji naukowej, w zależności od typu liczby i tego, czy specyfikator dokładności jest obecny. Specyfikator dokładności definiuje maksymalną liczbę cyfr znaczących, które mogą pojawić się w ciągu wynikowym. Jeśli specyfikator dokładności zostanie pominięty lub zero, typ liczby określa domyślną precyzję, jak wskazano w poniższej tabeli.
Typ liczbowy | Domyślna precyzja |
---|---|
Byte lub SByte | 3 cyfry |
Int16 lub UInt16 | 5 cyfr |
Int32 lub UInt32 | 10 cyfr |
Int64 | 19 cyfr |
UInt64 | 20 cyfr |
BigInteger | Nieograniczona (taka sama jak "R") |
Half | Najmniejsza zaokrąglalna liczba cyfr reprezentujących liczbę |
Single | Najmniejsza zaokrąglona liczba cyfr reprezentujących liczbę (w programie .NET Framework G7 jest domyślna) |
Double | Najmniejsza zaokrąglona liczba cyfr reprezentujących liczbę (w programie .NET Framework G15 jest domyślna) |
Decimal | Najmniejsza zaokrąglalna liczba cyfr reprezentujących liczbę |
Notacja o stałym punkcie jest używana, jeśli wykładnik, który wynikałby z wyrażenia liczby w notacji naukowej, jest większy niż -5 i mniejszy niż specyfikator dokładności; w przeciwnym razie używana jest notacja naukowa. Wynik zawiera punkt dziesiętny, jeśli jest to wymagane, a końcowe zera po pominięciu punktu dziesiętnego. Jeśli specyfikator dokładności jest obecny i liczba cyfr znaczących w wyniku przekracza określoną precyzję, nadmiar cyfr końcowych jest usuwany przez zaokrąglanie.
Jeśli jednak liczba jest liczbą Decimal i specyfikator dokładności zostanie pominięty, notacja o stałym punkcie jest zawsze używana, a końcowe zera są zachowywane.
Jeśli jest używana notacja naukowa, wykładnik w wyniku jest poprzedzony prefiksem "E", jeśli specyfikator formatu to "G", lub "e", jeśli specyfikator formatu to "g". Wykładnik zawiera co najmniej dwie cyfry. Różni się to od formatu notacji naukowej generowanej przez specyfikator formatu wykładniczego, który zawiera co najmniej trzy cyfry w wykładnik.
W przypadku użycia z wartością Double specyfikator formatu "G17" gwarantuje, że oryginalna Double wartość została pomyślnie zaokrąglony. Dzieje się tak, ponieważ Double jest to liczba zmiennoprzecinkowa zgodna ze standardem IEEE 754-2008 o podwójnej precyzji (binary64
), która daje do 17 znaczących cyfr precyzji. W programie .NET Framework zalecamy użycie go zamiast specyfikatora formatu "R", ponieważ w niektórych przypadkach wartość zmiennoprzecinkowa o podwójnej precyzji kończy się niepowodzeniem .R.
W przypadku użycia z wartością Single specyfikator formatu "G9" gwarantuje, że oryginalna Single wartość została pomyślnie zaokrąglony. Dzieje się tak, ponieważ Single jest to liczba zmiennoprzecinkowa zgodna ze standardem IEEE 754-2008 o pojedynczej precyzji (binary32
), która daje do dziewięciu znaczących cyfr precyzji. Ze względów wydajności zalecamy użycie go zamiast specyfikatora formatu "R".
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie ciągu wynikowego.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
NumberDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite od cyfr dziesiętnych. |
PositiveSign | Definiuje ciąg wskazujący, że wykładnik jest dodatni. |
Poniższy przykład formatuje assortowane wartości zmiennoprzecinkowe z ogólnym specyfikatorem formatu:
double number;
number = 12345.6789;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 12345.6789
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture));
// Displays 12345.68
number = .0000023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 2.3E-06
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 2,3E-06
number = .0023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 0.0023
number = 1234;
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture));
// Displays 1.2E+03
number = Math.PI;
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture));
// Displays 3.1416
Dim number As Double
number = 12345.6789
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 12345.6789
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture))
' Displays 12345.68
number = .0000023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 2.3E-06
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 2,3E-06
number = .0023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 0.0023
number = 1234
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture))
' Displays 1.2E+03
number = Math.Pi
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture))
' Displays 3.1416
Specyfikator formatu liczbowego (N)
Specyfikator formatu liczbowego ("N") konwertuje liczbę na ciąg formularza "-d,ddd,ddd.ddd...", gdzie "-" wskazuje symbol liczby ujemnej, jeśli jest to wymagane, "d" wskazuje cyfrę (0–9), "", wskazuje separator grupy i "." wskazuje symbol dziesiętny. Specyfikator dokładności wskazuje żądaną liczbę cyfr po przecinku dziesiętnego. Jeśli specyfikator dokładności zostanie pominięty, liczba miejsc dziesiętnych jest definiowana przez bieżącą NumberFormatInfo.NumberDecimalDigits właściwość.
Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie ciągu wynikowego.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
NumberNegativePattern | Definiuje format wartości ujemnych i określa, czy znak ujemny jest reprezentowany przez nawiasy, czy NegativeSign właściwość . |
NumberGroupSizes | Definiuje liczbę cyfr całkowitych, które pojawiają się między separatorami grup. |
NumberGroupSeparator | Definiuje ciąg oddzielający grupy liczb całkowitych. |
NumberDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite i dziesiętne. |
NumberDecimalDigits | Definiuje domyślną liczbę cyfr dziesiętnych. Tę wartość można zastąpić przy użyciu specyfikatora dokładności. |
Poniższy przykład formatuje assortowane wartości zmiennoprzecinkowe z specyfikatorem formatu liczb:
double dblValue = -12445.6789;
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
// Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1",
CultureInfo.CreateSpecificCulture("sv-SE")));
// Displays -12 445,7
int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0
Dim dblValue As Double = -12445.6789
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture))
' Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1", _
CultureInfo.CreateSpecificCulture("sv-SE")))
' Displays -12 445,7
Dim intValue As Integer = 123456789
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture))
' Displays 123,456,789.0
Specyfikator formatu procentu (P)
Specyfikator formatu procentu ("P") mnoży liczbę przez 100 i konwertuje ją na ciąg reprezentujący wartość procentową. Specyfikator dokładności wskazuje żądaną liczbę miejsc dziesiętnych. Jeśli specyfikator dokładności zostanie pominięty, zostanie użyta domyślna precyzja liczbowa podana przez bieżącą PercentDecimalDigits właściwość.
W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie zwracanego ciągu.
Właściwość NumberFormatInfo | Opis |
---|---|
PercentPositivePattern | Definiuje umieszczanie symbolu procentu dla wartości dodatnich. |
PercentNegativePattern | Definiuje umieszczanie symbolu procentu i symbolu ujemnego dla wartości ujemnych. |
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
PercentSymbol | Definiuje symbol procentu. |
PercentDecimalDigits | Definiuje domyślną liczbę cyfr dziesiętnych w wartości procentowej. Tę wartość można zastąpić przy użyciu specyfikatora dokładności. |
PercentDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite i dziesiętne. |
PercentGroupSeparator | Definiuje ciąg oddzielający grupy liczb całkowitych. |
PercentGroupSizes | Definiuje liczbę cyfr całkowitych wyświetlanych w grupie. |
Poniższy przykład formatuje wartości zmiennoprzecinkowe za pomocą specyfikatora formatu procentu:
double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P",
CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %
Dim number As Double = .2468013
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture))
' Displays 24.68 %
Console.WriteLine(number.ToString("P", _
CultureInfo.CreateSpecificCulture("hr-HR")))
' Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture))
' Displays 24.7 %
Specyfikator formatu dwukierunkowego (R)
Specyfikator formatu dwukierunkowego ("R") próbuje upewnić się, że wartość liczbowa przekonwertowana na ciąg jest analizowana z powrotem na tę samą wartość liczbową. Ten format jest obsługiwany tylko dla Halftypów , Single, Doublei BigInteger .
W programie .NET Framework i w wersjach platformy .NET Core wcześniejszych niż 3.0 specyfikator formatu "R" nie może pomyślnie Double zaokrąglić wartości w niektórych przypadkach. W przypadku wartości i DoubleSingle specyfikator formatu "R" oferuje stosunkowo niską wydajność. Zamiast tego zalecamy użycie specyfikatora formatu "G17" dla Double wartości i specyfikatora formatu "G9" , aby pomyślnie zaokrąglić Single wartości.
BigInteger Gdy wartość jest formatowana przy użyciu tego specyfikatora, jego reprezentacja ciągu zawiera wszystkie cyfry znaczące w BigInteger wartości.
Chociaż można uwzględnić specyfikator dokładności, jest ignorowany. W przypadku używania tego specyfikatora pierwszeństwo przed zaokrąglonymi podróżami ma pierwszeństwo przed precyzją. Ciąg wynikowy ma wpływ na informacje o formatowaniu bieżącego NumberFormatInfo obiektu. W poniższej tabeli wymieniono NumberFormatInfo właściwości kontrolujące formatowanie ciągu wynikowego.
Właściwość NumberFormatInfo | Opis |
---|---|
NegativeSign | Definiuje ciąg wskazujący, że liczba jest ujemna. |
NumberDecimalSeparator | Definiuje ciąg oddzielający cyfry całkowite od cyfr dziesiętnych. |
PositiveSign | Definiuje ciąg wskazujący, że wykładnik jest dodatni. |
Poniższy przykład formatuje BigInteger wartość za pomocą specyfikatora formatu dwukierunkowego.
using System;
using System.Numerics;
public class Example
{
public static void Main()
{
var value = BigInteger.Pow(Int64.MaxValue, 2);
Console.WriteLine(value.ToString("R"));
}
}
// The example displays the following output:
// 85070591730234615847396907784232501249
Imports System.Numerics
Module Example
Public Sub Main()
Dim value = BigInteger.Pow(Int64.MaxValue, 2)
Console.WriteLine(value.ToString("R"))
End Sub
End Module
' The example displays the following output:
' 85070591730234615847396907784232501249
Ważne
W niektórych przypadkach Double wartości sformatowane przy użyciu standardowego ciągu formatu liczbowego "R" nie są pomyślnie zaokrąglane w przypadku kompilowania przy użyciu /platform:x64
przełączników lub /platform:anycpu
i uruchamiania w systemach 64-bitowych. Aby uzyskać więcej informacji, zobacz następujący akapit.
Aby obejść problem Double wartości sformatowanych przy użyciu standardowego ciągu formatu liczbowego "R" nie udało się pomyślnie zaokrąglić, jeśli skompilowane przy użyciu /platform:x64
przełączników lub /platform:anycpu
i działać w systemach 64-bitowych, można sformatować Double wartości przy użyciu standardowego ciągu formatu liczbowego "G17". W poniższym przykładzie użyto ciągu formatu "R" z wartością Double , która nie powiodła się, a także używa ciągu formatu "G17", aby pomyślnie zaokrąglić oryginalną wartość:
Console.WriteLine("Attempting to round-trip a Double with 'R':");
double initialValue = 0.6822871999174;
string valueString = initialValue.ToString("R",
CultureInfo.InvariantCulture);
double roundTripped = double.Parse(valueString,
CultureInfo.InvariantCulture);
Console.WriteLine($"{initialValue:R} = {roundTripped:R}: {initialValue.Equals(roundTripped)}\n");
Console.WriteLine("Attempting to round-trip a Double with 'G17':");
string valueString17 = initialValue.ToString("G17",
CultureInfo.InvariantCulture);
double roundTripped17 = double.Parse(valueString17,
CultureInfo.InvariantCulture);
Console.WriteLine($"{initialValue:R} = {roundTripped17:R}: {initialValue.Equals(roundTripped17)}\n");
// If compiled to an application that targets anycpu or x64 and run on an x64 system,
// the example displays the following output:
// Attempting to round-trip a Double with 'R':
// .NET Framework:
// 0.6822871999174 = 0.68228719991740006: False
// .NET:
// 0.6822871999174 = 0.6822871999174: True
//
// Attempting to round-trip a Double with 'G17':
// 0.6822871999174 = 0.6822871999174: True
Imports System.Globalization
Module Example
Public Sub Main()
Console.WriteLine("Attempting to round-trip a Double with 'R':")
Dim initialValue As Double = 0.6822871999174
Dim valueString As String = initialValue.ToString("R",
CultureInfo.InvariantCulture)
Dim roundTripped As Double = Double.Parse(valueString,
CultureInfo.InvariantCulture)
Console.WriteLine("{0:R} = {1:R}: {2}",
initialValue, roundTripped, initialValue.Equals(roundTripped))
Console.WriteLine()
Console.WriteLine("Attempting to round-trip a Double with 'G17':")
Dim valueString17 As String = initialValue.ToString("G17",
CultureInfo.InvariantCulture)
Dim roundTripped17 As Double = double.Parse(valueString17,
CultureInfo.InvariantCulture)
Console.WriteLine("{0:R} = {1:R}: {2}",
initialValue, roundTripped17, initialValue.Equals(roundTripped17))
End Sub
End Module
' If compiled to an application that targets anycpu or x64 and run on an x64 system,
' the example displays the following output:
' Attempting to round-trip a Double with 'R':
' .NET Framework:
' 0.6822871999174 = 0.68228719991740006: False
' .NET:
' 0.6822871999174 = 0.6822871999174: True
'
' Attempting to round-trip a Double with 'G17':
' 0.6822871999174 = 0.6822871999174: True
Specyfikator formatu szesnastkowego (X)
Specyfikator formatu szesnastkowego ("X") konwertuje liczbę na ciąg cyfr szesnastkowych. Przypadek specyfikatora formatu wskazuje, czy używać wielkich lub małych liter dla cyfr szesnastkowej, które są większe niż 9. Na przykład użyj "X", aby utworzyć "ABCDEF" i "x", aby utworzyć "abcdef". Ten format jest obsługiwany tylko w przypadku typów całkowitych.
Specyfikator dokładności wskazuje minimalną liczbę cyfr żądanych w wynikowym ciągu. Jeśli jest to wymagane, liczba jest dopełniana zerami po lewej stronie, aby wygenerować liczbę cyfr podanych przez specyfikator dokładności.
Ciąg wynikowy nie ma wpływu na informacje o formatowaniu bieżącego NumberFormatInfo obiektu.
Poniższy przykład formatuje Int32 wartości z specyfikatorem formatu szesnastkowego.
int value;
value = 0x2045e;
Console.WriteLine(value.ToString("x"));
// Displays 2045e
Console.WriteLine(value.ToString("X"));
// Displays 2045E
Console.WriteLine(value.ToString("X8"));
// Displays 0002045E
value = 123456789;
Console.WriteLine(value.ToString("X"));
// Displays 75BCD15
Console.WriteLine(value.ToString("X2"));
// Displays 75BCD15
Dim value As Integer
value = &h2045e
Console.WriteLine(value.ToString("x"))
' Displays 2045e
Console.WriteLine(value.ToString("X"))
' Displays 2045E
Console.WriteLine(value.ToString("X8"))
' Displays 0002045E
value = 123456789
Console.WriteLine(value.ToString("X"))
' Displays 75BCD15
Console.WriteLine(value.ToString("X2"))
' Displays 75BCD15
Notatki
Ta sekcja zawiera dodatkowe informacje na temat używania standardowych ciągów formatu liczbowego.
Ustawienia panelu sterowania
Ustawienia w elemencie Opcje regionalne i językowe w Panelu sterowania mają wpływ na ciąg wynikowy utworzony przez operację formatowania. Te ustawienia służą do inicjowania NumberFormatInfo obiektu skojarzonego z bieżącą kulturą, która udostępnia wartości używane do zarządzania formatowaniem. Komputery korzystające z różnych ustawień generują różne ciągi wyników.
Ponadto jeśli CultureInfo(String) konstruktor jest używany do tworzenia wystąpienia nowego CultureInfo obiektu, który reprezentuje tę samą kulturę co bieżąca kultura systemu, wszelkie dostosowania ustanowione przez element Opcje regionalne i językowe w Panelu sterowania zostaną zastosowane do nowego CultureInfo obiektu. Konstruktor umożliwia CultureInfo(String, Boolean) utworzenie CultureInfo obiektu, który nie odzwierciedla dostosowań systemu.
Właściwości NumberFormatInfo
Formatowanie ma wpływ na właściwości bieżącego NumberFormatInfo obiektu, który jest dostarczany niejawnie przez bieżącą kulturę lub jawnie przez IFormatProvider parametr metody, która wywołuje formatowanie. NumberFormatInfo Określ obiekt lub CultureInfo dla tego parametru.
Uwaga
Aby uzyskać informacje na temat dostosowywania wzorców lub ciągów używanych w formatowaniu wartości liczbowych, zobacz NumberFormatInfo temat klasy.
Typy liczb całkowitych i zmiennoprzecinkowych
Niektóre opisy standardowych specyfikatorów formatu liczbowego odnoszą się do typów liczb całkowitych lub zmiennoprzecinkowych. Typy liczb całkowitych to Byte, , SByte, Int16Int32Int64UInt16, UInt32, , UInt64, i .BigInteger Typy liczb zmiennoprzecinkowe to Decimal, Half, Singlei Double.
Liczba zmiennoprzecinkowa i naN
Niezależnie od ciągu formatu, jeśli wartość Halftypu , Singlelub Double zmiennoprzecinkowego jest dodatnią nieskończonością, nieskończonością ujemną, a nie liczbą (NaN), sformatowany ciąg jest wartością odpowiedniej PositiveInfinitySymbolwłaściwości , NegativeInfinitySymbollub NaNSymbol określonej przez aktualnie odpowiedni NumberFormatInfo obiekt.
Przykład kodu
Poniższy przykład formatuje całkowitą i zmiennoprzecinkową wartość liczbową przy użyciu kultury en-US i wszystkich standardowych specyfikatorów formatu liczbowego. W tym przykładzie użyto dwóch konkretnych typów liczbowych (Double i ), ale daje podobne wyniki dla dowolnego z innych typów podstawowych liczb (Int32, Byte, SByteInt16Int32Int64UInt16UInt32UInt64BigInteger, Decimal, i ).HalfSingle
// Display string representations of numbers for en-us culture
CultureInfo ci = new CultureInfo("en-us");
// Output floating point values
double floating = 10761.937554;
Console.WriteLine($"C: {floating.ToString("C", ci)}"); // Displays "C: $10,761.94"
Console.WriteLine($"E: {floating.ToString("E03", ci)}"); // Displays "E: 1.076E+004"
Console.WriteLine($"F: {floating.ToString("F04", ci)}"); // Displays "F: 10761.9376"
Console.WriteLine($"G: {floating.ToString("G", ci)}"); // Displays "G: 10761.937554"
Console.WriteLine($"N: {floating.ToString("N03", ci)}"); // Displays "N: 10,761.938"
Console.WriteLine($"P: {(floating/10000).ToString("P02", ci)}"); // Displays "P: 107.62 %"
Console.WriteLine($"R: {floating.ToString("R", ci)}"); // Displays "R: 10761.937554"
Console.WriteLine();
// Output integral values
int integral = 8395;
Console.WriteLine($"C: {integral.ToString("C", ci)}"); // Displays "C: $8,395.00"
Console.WriteLine($"D: {integral.ToString("D6", ci)}"); // Displays "D: 008395"
Console.WriteLine($"E: {integral.ToString("E03", ci)}"); // Displays "E: 8.395E+003"
Console.WriteLine($"F: {integral.ToString("F01", ci)}"); // Displays "F: 8395.0"
Console.WriteLine($"G: {integral.ToString("G", ci)}"); // Displays "G: 8395"
Console.WriteLine($"N: {integral.ToString("N01", ci)}"); // Displays "N: 8,395.0"
Console.WriteLine($"P: {(integral/10000.0).ToString("P02", ci)}"); // Displays "P: 83.95 %"
Console.WriteLine($"X: 0x{integral.ToString("X", ci)}"); // Displays "X: 0x20CB"
Console.WriteLine();
Option Strict On
Imports System.Globalization
Imports System.Threading
Module NumericFormats
Public Sub Main()
' Display string representations of numbers for en-us culture
Dim ci As New CultureInfo("en-us")
' Output floating point values
Dim floating As Double = 10761.937554
Console.WriteLine("C: {0}", _
floating.ToString("C", ci)) ' Displays "C: $10,761.94"
Console.WriteLine("E: {0}", _
floating.ToString("E03", ci)) ' Displays "E: 1.076E+004"
Console.WriteLine("F: {0}", _
floating.ToString("F04", ci)) ' Displays "F: 10761.9376"
Console.WriteLine("G: {0}", _
floating.ToString("G", ci)) ' Displays "G: 10761.937554"
Console.WriteLine("N: {0}", _
floating.ToString("N03", ci)) ' Displays "N: 10,761.938"
Console.WriteLine("P: {0}", _
(floating / 10000).ToString("P02", ci)) ' Displays "P: 107.62 %"
Console.WriteLine("R: {0}", _
floating.ToString("R", ci)) ' Displays "R: 10761.937554"
Console.WriteLine()
' Output integral values
Dim integral As Integer = 8395
Console.WriteLine("C: {0}", _
integral.ToString("C", ci)) ' Displays "C: $8,395.00"
Console.WriteLine("D: {0}", _
integral.ToString("D6")) ' Displays "D: 008395"
Console.WriteLine("E: {0}", _
integral.ToString("E03", ci)) ' Displays "E: 8.395E+003"
Console.WriteLine("F: {0}", _
integral.ToString("F01", ci)) ' Displays "F: 8395.0"
Console.WriteLine("G: {0}", _
integral.ToString("G", ci)) ' Displays "G: 8395"
Console.WriteLine("N: {0}", _
integral.ToString("N01", ci)) ' Displays "N: 8,395.0"
Console.WriteLine("P: {0}", _
(integral / 10000).ToString("P02", ci)) ' Displays "P: 83.95 %"
Console.WriteLine("X: 0x{0}", _
integral.ToString("X", ci)) ' Displays "X: 0x20CB"
Console.WriteLine()
End Sub
End Module