|
|
|
Standardmäßige Zahlenformatzeichenfolgen
Standardformatzeichenfolgen für Zahlen werden für die Formatierung allgemeiner numerischer Typen verwendet. Eine Standardformatzeichenfolge hat die Form Axx, wobei A der Formatbezeichner, d. h. ein einzelner Buchstabe, und xx die Genauigkeitsangabe, d. h. eine optionale ganze Zahl ist. Bei dem Formatbezeichner muss es sich um eines der integrierten Formatzeichen handeln. Die Genauigkeitsangabe kann im Bereich von 0 bis 99 liegen und steuert die Anzahl der signifikanten Ziffern oder Nullen hinter dem Komma. Die Formatierungszeichenfolge darf keine Leerräume enthalten.
Wenn die Formatzeichenfolge keinen der Standardformatbezeichner enthält, wird eine FormatException ausgelöst. Die Formatzeichenfolge "z" wird z. B. als Standardformatzeichenfolge für Zahlen interpretiert, da sie einen Buchstaben enthält. Da es sich bei diesem Buchstaben jedoch nicht um einen Standardformatbezeichner für Zahlen handelt, wird eine FormatException ausgegeben. Jede Zahlenformatzeichenfolge, die nicht der Definition einer Standardformatzeichenfolge für Zahlen entspricht, wird als benutzerdefinierte Zahlenformatzeichenfolge interpretiert. Die Formatzeichenfolge "c!" wird als benutzerdefinierte Formatzeichenfolge interpretiert, da sie zwei Buchstaben enthält, obwohl das Zeichen "c" ein Standardformatbezeichner für Zahlen ist.
In der folgenden Tabelle werden die Standardformatzeichenfolgen für Zahlen beschrieben. Beachten Sie, dass die durch diese Formatbezeichner erstellte Ergebniszeichenfolge von den Ländereinstellungen in der Systemsteuerung beeinflusst werden. Auf Computern mit unterschiedlichen Einstellungen werden unterschiedliche Ergebniszeichenfolgen generiert.
|
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 NumberFormatInfo-Objekt gesteuert, das zum Formatieren der Zahl verwendet wird. Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch NumberFormatInfo angegebene Standardgenauigkeit für Währungen verwendet. |
|
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. |
|
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. |
|
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 NumberFormatInfo angegebene Standardgenauigkeit für Zahlen verwendet. |
|
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).
· Byte oder SByte: 3
· Int16 oder UInt16: 5
· Int32 oder UInt32: 10
· Int64 oder UInt64: 19
· Single: 7
· Double: 15
· Decimal: 29
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. Bei Verwendung der wissenschaftlichen Notation wird dem Exponenten im Ergebnis 'E' vorangestellt, wenn der Formatbezeichner 'G' ist, oder 'e', wenn der Formatbezeichner 'g' ist.
Von dieser Regel wird ausnahmsweise abgewichen, wenn es sich bei der Zahl um eine Dezimalzahl (Decimal) handelt und die Genauigkeitsangabe fehlt. In diesem Fall wird immer die Festkommanotation verwendet, und nachfolgende Nullen werden beibehalten. |
|
N oder n |
Zahl |
Die Zahl wird in eine Zeichenfolge der Form "-d,ddd,ddd.ddd…" konvertiert, wobei jedes 'd' eine Ziffer (0-9) angibt. Die Zeichenfolge beginnt mit einem Minuszeichen, wenn die Zahl negativ ist. Tausendertrennzeichen werden links vom Dezimaltrennzeichen zwischen Gruppen von je drei Ziffern eingefügt. Die Genauigkeitsangabe gibt die gewünschte Anzahl von Dezimalstellen an. Wenn die Genauigkeitsangabe fehlt, wird die durch NumberFormatInfo angegebene Standardgenauigkeit für Zahlen verwendet. |
|
P oder p |
Prozent |
Die Zahl wird in eine Zeichenfolge konvertiert, die eine durch die NumberFormatInfo.PercentNegativePattern-Eigenschaft oder die NumberFormatInfo.PercentPositivePattern-Eigenschaft definierte Prozentangabe darstellt. Wenn die Zahl negativ ist, wird die erstellte Zeichenfolge durch PercentNegativePattern definiert und beginnt mit einem Minuszeichen. 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 NumberFormatInfo angegebene Standardgenauigkeit für Zahlen verwendet. |
|
R oder r |
Schleife |
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. Sie können eine Genauigkeitsangabe an den Schleifenformatbezeichner anfügen, diese wird jedoch ignoriert. Bei diesem Bezeichner hat die Rückkonvertierbarkeit höhere Priorität als die Genauigkeit. Dieses Format wird nur bei Gleitkommatypen unterstützt. |
|
X oder x |
Hexadezimal |
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. Dieses Format wird nur bei ganzzahligen Typen unterstützt. |
Beispiele für die Ausgabe standardmäßiger Zahlenformatzeichenfolgen
|
Format |
Kultur |
Datentyp |
Wert |
Ausgabe |
|
C |
en-US |
Double |
12345.6789 |
$12,345.68 |
|
C |
de-DE |
Double |
12345.678 |
12.345,68 € |
|
D |
en-US |
Int32 |
12345 |
12345 |
|
D8 |
en-US |
Int32 |
12345 |
00012345 |
|
E |
en-US |
Double |
12345.6789 |
1.234568E+004 |
|
E10 |
en-US |
Double |
12345.6789 |
1.2345678900E+004 |
|
E |
fr-FR |
Double |
12345.6789 |
1,234568E+004 |
|
e4 |
en-US |
Double |
12345.6789 |
1.2346e+004 |
|
F |
en-US |
Double |
12345.6789 |
12345.68 |
|
F |
es-ES |
Double |
12345.6789 |
12345,68 |
|
F0 |
en-US |
Double |
12345.6789 |
123456 |
|
F6 |
en-US |
Double |
12345.6789 |
12345.678900 |
|
G |
en-US |
Double |
12345.6789 |
12345.6789 |
|
G7 |
en-US |
Double |
12345.6789 |
12345.68 |
|
G |
en-US |
Double |
0.0000023 |
2.3E-6 |
|
G |
en-US |
Double |
0.0023 |
0.0023 |
|
G2 |
en-US |
Double |
1234 |
1.2E3 |
|
G |
en-US |
Double |
Math.PI |
3.14159265358979 |
|
N |
en-US |
Double |
12345.6789 |
12,345.68 |
|
N |
sv-SE |
Double |
12345.6789 |
12 345,68 |
|
N4 |
en-US |
Double |
123456789 |
123,456,789.0000 |
|
P |
en-US |
Double |
.126 |
12.60 % |
|
r |
en-US |
Double |
Math.PI |
3.141592653589793 |
|
x |
en-US |
Int32 |
0x2c45e |
2c45e |
|
X |
en-US |
Int32 |
0x2c45e |
2C45E |
|
X8 |
en-US |
Int32 |
0x2c45e |
0002C45E |
|
x |
en-US |
Int32 |
123456789 |
75bcd15 |
|
|
|