FormatFloat
- Merve Yurdakul
Parameter
(const Format: String; Value: Extended) : String;
Beschreibung
Die Funktion formatiert einen Gleitkommawert.FormatFloat formatiert den mit Value angegebenen Gleitkommawert. Dazu wird der im Parameter Format übergebene Format-String verwendet. Die folgende Tabelle enthält die unterstützen Formatbezeichner:
Formatbezeichner | Beschreibung |
---|---|
0 | Platzhalter für eine Ziffer. Enthält der zu formatierende Wert an der Position eine Ziffer, an der im Format- String '0' steht, wird diese in den Ausgabe-String kopiert. Andernfalls wird das Zeichen '0' an dieser Position im Ausgabe-String gespeichert. |
# | Platzhalter für Ziffern. Enthält der zu formatierende Wert an der Position eine Ziffer, an der im Format- String '#' steht, wird diese in den Ausgabe-String kopiert. Andernfalls wird an dieser Position kein Zeichen im Ausgabe-String gespeichert. |
. | Ist ein Dezimaltrennzeichen. Das erste '.'-Zeichen im Format-String bestimmt die Position des Dezimaltrennzeichens im formatierten Wert. Alle weiteren dieser Zeichen werden ignoriert. Das tatsächlich im Ausgabe-String verwendete Zeichen wird mit der globalen Variable DecimalSeparator bzw. ihrer TFormatSettings-Entsprechung festgelegt. |
, | Enthält der Format-String ein oder mehrere ','-Zeichen, werden in den Ausgabe- String links des Dezimaltrennzeichens nach jeder Gruppe von drei Ziffern Tausendertrennzeichen eingefügt. Die Position und Anzahl der Trennzeichen im Format-String wirkt sich nicht auf die Ausgabe aus. Sie geben nur an, dass Trennzeichen eingefügt werden sollen. Das tatsächlich im Ausgabe-String verwendete Tausendertrennzeichen wird mit der globalen Variable ThousandSeparator bzw. ihrer TFormatSettings-Entsprechung festgelegt. |
E+ | Wissenschaftliche Notationen sind Zeichen wie 'E+', 'E-', 'e+' oder 'e-' die im Format-String enthalten, wird die Zahl in der wissenschaftlichen Schreibweise formatiert. Bis zu vier '0'-Zeichen können direkt nach 'E+', 'E-', 'e+' oder 'e-' angegeben werden, um die minimale Anzahl der Stellen im Exponenten festzulegen. Bei den Formaten 'E+' und 'e+' wird für positive Exponenten ein Pluszeichen und für negative Exponenten ein Minuszeichen in den String eingefügt. Bei den Formaten 'E-' und 'e-' wird lediglich für negative Exponenten ein Vorzeichen ausgegeben |
'xx'/"xx | In halbe oder ganze Anführungszeichen eingeschlossene Zeichen wirken sich nicht auf die Formatierung aus und werden wie eingegeben angezeigt. |
; | Trennt Abschnitte für positive, negative und Nullwerte im Format-String. |
Die Zeichen zwischen dem äußersten linken '0' vor dem Dezimaltrennzeichen und dem äußersten rechten '0' nach dem Dezimaltrennzeichen werden immer im Ausgabe-String angezeigt. Die zu formatierende Zahl wird immer auf so viele Dezimalstellen gerundet, wie Ziffernplatzhalter ('0' oder '#') rechts des Dezimaltrennzeichens vorhanden sind. Fehlt im Format-String ein Dezimaltrennzeichen, wird der formatierte Wert auf die nächste ganze Zahl gerundet. Hat die zu formatierende Zahl mehr Vorkommastellen, als Ziffernplatzhalter links des '.' im Format-String vorhanden sind, werden die zusätzlichen Stellen vor dem ersten Platzhalter ausgegeben.
Das Semikolon gliedert den Format-String in bis zu drei Abschnitte, in denen jeweils eine eigene Formatierung für positive und negative Zahlen sowie für Nullen definiert werden kann.
- Ein Abschnitt: Der Format-String wird für alle Werte verwendet.
- Zwei Abschnitte: Der erste Abschnitt wird für positive und Nullwerte, der zweite Abschnitt für negative Werte verwendet.
- Drei Abschnitte: Der erste Abschnitt wird für positive, der zweite für negative und der dritte Abschnitt für Nullwerte verwendet.
Wenn der Abschnitt für negative oder Nullwerte keine Angaben enthält, wird stattdessen der Abschnitt für positive Werte verwendet. Ist der Abschnitt für positive Werte oder der gesamte Format-String leer, wird die Zahl im allgemeinen Gleitkommaformat mit 15 siginifikanten Stellen formatiert. Dies entspricht einem Aufruf von FloatToStrF mit dem Format ffGeneral. Die allgemeine Formatierung für Gleitkommawerte wird auch verwendet, wenn der Wert mehr als 18 Ziffern links neben dem Dezimalzeichen enthält und im Format-String keine wissenschaftliche Schreibweise festgelegt wurde. Die erste Form von FormatFloat ist nicht Thread-sicher, da die landesspezifischen Informationen der globalen Variablen verwendet werden. Der Thread-sicheren zweiten Form werden die landesspezifischen Informationen im Parameter FormatSettings übergeben. Bevor Sie diese Form von FormatFloat aufrufen, müssen Sie die Informationen in den Parameter FormatSettings schreiben. Die landesspezifischen Standardinformationen können mit GetLocaleFormatSettings zugewiesen werden. Die folgende Tabelle zeigt einige Format-Strings und die verschiedenen Ergebnisse.
Beispiel
Die folgende Tabelle zeigt einige Format-Strings und die verschiedenen Ergebnisse. Format-String 1234 -1234 0.5 0 1234 -1234 0.5 0 0 1234 -1234 1 0 0.00 1234.00 -1234.00 0.50 0.00 #.## 1234 -1234 .5 #,##0.00 1,234.00 -1,234.00 0.50 0.00 #,##0.00;(#,##0.00) 1,234.00 (1,234.00) 0.50 0.00 #,##0.00;;Null 1,234.00 -1,234.00 0.50 Null 0.000E+00 1.234E+03 -1.234E+03 5.000E-01 0.000E+00 #.###E-0 1.234E3 -1.234E3 5E-1 0E0