Standardmäßige Zahlenformatzeichenfolgen

Aktualisiert: November 2007

Standardformatzeichenfolgen für Zahlen werden für die Formatierung allgemeiner numerischer Typen verwendet. Eine standardmäßige Zahlenformatzeichenfolge hat die Form Axx, wobei A ein alphabetisches Zeichen, das Formatbezeichner genannt wird, und xx eine optionale Ganzzahl ist, die als Genauigkeitsangabe bezeichnet wird. Die Genauigkeitsangabe reicht von 0 bis 99 und wirkt sich auf die Anzahl der Ziffern im Ergebnis aus. Jede Zahlenformatzeichenfolge, die mehr als ein alphabetisches Zeichen (einschließlich Leerzeichen) enthält, wird als benutzerdefinierte Zahlenformatzeichenfolge interpretiert.

Die folgenden Tabelle beschreibt die standardmäßigen Zahlenformatbezeichner und zeigt eine Beispielausgabe an, die von den einzelnen Formatbezeichnern erstellt wird. Weitere Informationen finden Sie in den Hinweisen unterhalb der Tabelle.

Formatbezeichner

Name

Beschreibung

C oder c

Währung

Die Zahl wird in eine Zeichenfolge konvertiert, die einen Währungsbetrag darstellt. Die Konvertierung wird durch die Informationen zum Währungsformat im aktuellen NumberFormatInfo-Objekt gesteuert.

Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch das aktuelle NumberFormatInfo-Objekt angegebene Standardgenauigkeit für Währungen verwendet.

Im folgenden Beispiel wird ein Double-Wert mit dem Währungsformatbezeichner formatiert.

Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture))
' Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture))
' Displays 12,345.679
Console.WriteLine(value.ToString("C3", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays $12,345.679
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture));
// Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture));
// Displays 12,345.679
Console.WriteLine(value.ToString("C3",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays $12,345.679

D oder d

Dezimal

Dieses Format wird nur bei ganzzahligen Typen unterstützt. Die Zahl wird in eine Zeichenfolge aus Dezimalziffern (0-9) konvertiert, der ein Minuszeichen vorangestellt wird, wenn es sich um eine negative Zahl handelt.

Die Genauigkeitsangabe gibt die gewünschte Mindestanzahl von Ziffern für die resultierende Zeichenfolge an. Bei Bedarf werden links von der Zahl Nullen ergänzt, um die durch die Genauigkeitsangabe bestimmte Anzahl von Ziffern zu erstellen.

Im folgenden Beispiel wird ein Int32-Wert mit dem Dezimalformatbezeichner formatiert.

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
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

E oder e

Wissenschaftlich (exponentiell)

Die Zahl wird in eine Zeichenfolge der Form "-d.ddd…E+ddd" oder "-d.ddd…e+ddd" konvertiert, wobei jedes 'd' eine Ziffer (0-9) angibt. Die Zeichenfolge beginnt mit einem Minuszeichen, wenn die Zahl negativ ist. Es steht immer eine Ziffer vor dem Dezimaltrennzeichen.

Die Genauigkeitsangabe gibt die gewünschte Anzahl von Ziffern nach dem Dezimaltrennzeichen an. Wenn die Genauigkeitsangabe fehlt, werden als Standard sechs Ziffern nach dem Dezimaltrennzeichen angegeben.

Die Groß- oder Kleinschreibung des Formatbezeichners gibt an, ob dem Exponenten ein 'E' oder ein 'e' vorangestellt wird. Der Exponent besteht immer aus einem Plus- oder Minuszeichen und mindestens drei Ziffern. Der Exponent wird ggf. durch Nullen ergänzt, um diesem Mindestwert zu entsprechen.

Im folgenden Beispiel wird ein Double-Wert mit dem Formatbezeichner für die wissenschaftliche Notation formatiert.

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
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

F oder f

Festkomma

Die Zahl wird in eine Zeichenfolge der Form "-ddd.ddd…" konvertiert, wobei jedes 'd' eine Ziffer (0-9) angibt. Die Zeichenfolge beginnt mit einem Minuszeichen, wenn die Zahl negativ ist.

Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch die NumberDecimalDigits-Eigenschaft des aktuellen NumberFormatInfo-Objekts angegebene Standardgenauigkeit für Zahlen verwendet.

Im folgenden Beispiel wird ein Double-Wert und ein Int32-Wert mit dem Festkommaformatbezeichner formatiert.

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
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

G oder g

Allgemein

Die Zahl wird abhängig vom Typ der Zahl und dem Vorhandensein einer Genauigkeitsangabe in eine möglichst kompakte Festkomma- oder wissenschaftliche Notation konvertiert. Wenn die Genauigkeitsangabe fehlt oder 0 lautet, wird über den Typ der Zahl die Standardgenauigkeit festgelegt (siehe folgende Liste).

Die Festkommanotation wird verwendet, wenn der Exponent, der sich durch Ausdrücken der Zahl in wissenschaftlicher Notation ergibt, größer als –5 und kleiner als die Genauigkeitsangabe ist. Andernfalls wird die wissenschaftliche Notation verwendet. Das Ergebnis enthält ggf. ein Dezimaltrennzeichen. Nachfolgende Nullen werden weggelassen. Wenn die Genauigkeitsangabe vorhanden ist und die Anzahl der signifikanten Ziffern im Ergebnis die angegebene Genauigkeit übersteigt, werden die überzähligen nachfolgenden Ziffern durch Rundung entfernt.

Von dieser Regel wird ausnahmsweise abgewichen, wenn es sich bei der Zahl um eine Decimal-Zahl handelt und die Genauigkeitsangabe fehlt. In diesem Fall wird immer die Festkommanotation verwendet, und nachfolgende Nullen werden beibehalten.

Bei Verwendung der wissenschaftlichen Notation wird dem Exponenten im Ergebnis 'E' vorangestellt, wenn der Formatbezeichner 'G' ist, oder 'e', wenn der Formatbezeichner 'g' ist.

Im folgenden Beispiel werden gemischte Gleitkommawerte mit dem allgemeinen Formatbezeichner formatiert.

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
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

N oder n

Zahl

Die Zahl wird in eine Zeichenfolge mit der Form "-d,ddd,ddd.ddd…" konvertiert, wobei '-' ggf. ein negatives Zahlensymbol, 'd' eine Ziffer (0-9), ',' ein Tausendertrennzeichen zwischen Zahlengruppen und '.' ein Dezimaltrennzeichensymbol angibt. Das Muster der negativen Zahl, die Größe der Zahlengruppe, das Tausendertrennzeichen und das Dezimaltrennzeichen werden durch die Eigenschaften NumberNegativePattern, NumberGroupSizes, NumberGroupSeparator und NumberDecimalSeparator des aktuellen NumberFormatInfo-Objekts angegeben.

Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch die NumberDecimalDigits-Eigenschaft des aktuellen NumberFormatInfo-Objekts angegebene Standardgenauigkeit für Zahlen verwendet.

Im folgenden Beispiel werden gemischte Gleitkommawerte mit dem Zahlenformatbezeichner formatiert.

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 -12445,7
Dim intValue As Integer = 123456789
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture))
' Displays 123,456,789.0
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 -12445,7
int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0

P oder p

Prozent

Die Zahl wird in eine Zeichenfolge konvertiert, die eine Prozentangabe darstellt. Diese wird durch die NumberFormatInfo.PercentNegativePattern-Eigenschaft definiert, wenn die Zahl negativ ist, bzw. durch die NumberFormatInfo.PercentPositivePattern-Eigenschaft, wenn die Zahl positiv ist. Die konvertierte Zahl wird mit 100 multipliziert, um als Prozentangabe dargestellt zu werden.

Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch das aktuelle NumberFormatInfo-Objekt angegebene Standardgenauigkeit für Zahlen verwendet.

Im folgenden Beispiel werden gemischte Gleitkommawerte mit dem Prozentformatbezeichner formatiert.

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 %
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 %

R oder r

Schleife

Dieses Format wird nur für den Single-Typ und den Double-Typ unterstützt. Der Schleifenbezeichner stellt sicher, dass ein in eine Zeichenfolge konvertierter numerischer Wert wieder in den gleichen numerischen Wert rückkonvertiert wird. Ein mit diesem Bezeichner formatierter numerischer Wert wird zuerst mit dem allgemeinen Format getestet, wobei die Genauigkeit bei Double 15 Stellen und bei Single 7 Stellen beträgt. Wenn der Wert erfolgreich in den gleichen numerischen Wert rückkonvertiert werden kann, wird er mit dem Bezeichner für das allgemeine Format formatiert. Wenn der Wert nicht in den gleichen Wert rückkonvertiert werden kann, wird der Wert mit eine Genauigkeit von 17 Ziffern für Double und 9 Ziffern für Single formatiert.

Eine Genauigkeitsangabe kann zwar vorhanden sein, sie wird aber ignoriert. Bei diesem Bezeichner hat die Rückkonvertierbarkeit höhere Priorität als die Genauigkeit.

Im folgenden Beispiel wird Double-Werte mit dem Schleifenformatbezeichner formatiert.

Dim value As Double
value = Math.Pi
Console.WriteLine(value.ToString("r"))
' Displays 3.1415926535897931
Console.WriteLine(value.ToString("r", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 3,1415926535897931
value = 1.623e-21
Console.WriteLine(value.ToString("r"))
' Displays 1.623E-21
double value;
value = Math.PI;
Console.WriteLine(value.ToString("r"));
// Displays 3.1415926535897931
Console.WriteLine(value.ToString("r",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 3,1415926535897931
value = 1.623e-21;
Console.WriteLine(value.ToString("r"));
// Displays 1.623E-21

X oder x

Hexadezimal

Dieses Format wird nur bei ganzzahligen Typen unterstützt. Die Zahl wird in eine Zeichenfolge von Hexadezimalziffern konvertiert. Die Groß- oder Kleinschreibung des Formatbezeichners gibt an, ob für Hexadezimalziffern, die größer als 9 sind, Groß- oder Kleinbuchstaben verwendet werden. Verwenden Sie z. B. 'X', um "ABCDEF" zu generieren, und 'x' um "abcdef" zu erstellen.

Die Genauigkeitsangabe gibt die gewünschte Mindestanzahl von Ziffern für die resultierende Zeichenfolge an. Bei Bedarf werden links von der Zahl Nullen ergänzt, um die durch die Genauigkeitsangabe bestimmte Anzahl von Ziffern zu erstellen.

Im folgenden Beispiel wird Int32-Werte mit dem Hexadezimal-Formatbezeichner formatiert.

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
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

Jedes andere einzelne Zeichen

(Unbekannter Bezeichner)

(Ein unbekannter Bezeichner löst eine FormatException zur Laufzeit aus.)

Hinweise

Einstellungen der Systemsteuerung

Die Einstellungen der Regions- und Sprachoptionen in der Systemsteuerung beeinflussen die durch einen Formatierungsvorgang erstellte Ergebniszeichenfolge. Mithilfe dieser Einstellungen wird das NumberFormatInfo-Objekt initialisiert, das der aktuellen Threadkultur zugeordnet ist. Diese wiederum stellt die Werte zur Steuerung der Formatierung bereit. Auf Computern mit unterschiedlichen Einstellungen werden unterschiedliche Ergebniszeichenfolgen generiert.

Wenn der CultureInfo.CultureInfo(String)-Constructor verwendet wird, um ein neues CultureInfo-Objekt zu instantiieren, das dieselbe Kultur repräsentiert wie die aktuelle Systemkultur, werden darüber hinaus alle Anpassungen, die über die Einstellung Regions- und Sprachoptionen in der Systemsteuerung eingerichtet werden, auf das neue CultureInfo-Objekt angewendet. Sie können die CultureInfo.CreateSpecificCulture-Methode verwenden, um eine CultureInfo zu erstellen, die die Anpassungen eines Systems nicht reflektiert.

NumberFormatInfo-Eigenschaften

Die Formatierung wird durch die Eigenschaften des aktuellen NumberFormatInfo-Objekts beeinflusst, das implizit durch die aktuelle Threadkultur oder explizit durch den IFormatProvider-Parameter der Methode bereitgestellt wird, die die Formatierung aufruft. Geben Sie ein NumberFormatInfo-Objekt oder ein CultureInfo-Objekt für diesen Parameter an.

Ganzzahlige numerische Typen und numerische Gleitkommatypen

Einige Beschreibungen von standardmäßige Zahlenformatbezeichner verweisen auf ganzzahlige numerische Typen oder numerische Gleitkommatypen. Die ganzzahligen numerischen Typen sind Byte, SByte, Int16, Int32, Int64, UInt16, UInt32 und UInt64. Die numerischen Gleitkommatypen sind Decimal, Single und Double.

Unendlichkeiten und NaN bei Gleitkommawerten

Wenn der Wert eines Single-Gleitkommatyps oder eines Double-Gleitkommatyps positiv unendlich, negativ unendlich oder keine Zahl (Not a Number, NaN) ist, handelt es sich bei der formatierten Zeichenfolge unabhängig von der Formatzeichenfolge um den Wert der entsprechenden PositiveInfinitySymbol-Eigenschaft, NegativeInfinitySymbol-Eigenschaft oder NaNSymbol-Eigenschaft, die durch das derzeit gültige NumberFormatInfo-Objekt angegeben wird.

Beispiel

Durch das folgende Beispiel werden mithilfe der Kultur en-us und allen Standardzahlen-Formatbezeichnern ein ganzzahliger Wert und ein numerischer Gleitkommawert formatiert. In diesem Beispiel werden zwei spezielle numerische Typen verwendet. Es würde jedoch für jeden der numerischen Basistypen (Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, Decimal, Single und Double) zu ähnlichen Ergebnisse führen.

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
using System;
using System.Globalization;
using System.Threading;

public class NumericFormats
{
   public static void Main()
   {
      // 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: {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
      int integral = 8395;
      Console.WriteLine("C: {0}", 
              integral.ToString("C", ci));           // Displays "C: $8,395.00"
      Console.WriteLine("D: {0}", 
              integral.ToString("D6", ci));          // 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();
   }
}

Siehe auch

Konzepte

Zahlenformatzeichenfolgen

Benutzerdefinierte Zahlenformatzeichenfolgen

Referenz

NumberFormatInfo

Weitere Ressourcen

Formatierung von Typen