System.SysUtils.FormatFloat

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function FormatFloat(const Format: string; Value: Extended): string;
function FormatFloat(const Format: string; Value: Extended;
const AFormatSettings: TFormatSettings): string;

C++

extern DELPHI_PACKAGE System::UnicodeString __fastcall FormatFloat(const System::UnicodeString Format, System::Extended Value)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils

Beschreibung

Formatiert einen Gleitkommawert.

FormatFloat formatiert den in Value angegebenen Gleitkommawert. Dazu wird der im Parameter Format übergebene Format-String verwendet. Die folgende Tabelle enthält die unterstützen Formatbezeichner.


Bezeichner Bedeutung
0 Platzhalter für Ziffern. Wenn der formatierte Wert an der Stelle eine Ziffer enthält, an der im Format-String das Zeichen 0 (Null) steht, wird die betreffende Ziffer in den Ausgabe-String übernommen. Andernfalls wird das Zeichen 0 an dieser Position im Ausgabe-String gespeichert.
# Platzhalter für Ziffern. Wenn der formatierte Wert an der Stelle eine Ziffer enthält, an der im Format-String das Zeichen # steht, dann wird diese Ziffer in den Ausgabe-String übernommen. Andernfalls wird an dieser Position kein Zeichen im Ausgabe-String gespeichert.
. Dezimalzeichen. Das erste '.'-Zeichen im Format-String bestimmt die Position des Dezimalzeichens 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.
, Tausendertrennzeichen. Enthält der Format-String ein oder mehrere ','-Zeichen, werden in den Ausgabe-String links des Dezimalzeichens 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 Notation. Sind die Zeichen 'E+', 'E-', 'e+' oder 'e-' 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 der äußersten linken '0' vor dem Dezimalzeichen und der äußersten rechten '0' nach dem Dezimalzeichen werden immer im Ausgabe-String angezeigt.

Die zu formatierende Zahl wird immer auf so viele Dezimalstellen gerundet, wie Ziffernplatzhalter ('0' oder '#') rechts des Dezimalzeichens vorhanden sind. Fehlt im Format-String ein Dezimalzeichen, 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 folgendermaßen 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 signifikanten 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 AFormatSettings übergeben. Bevor Sie diese Form von FormatFloat aufrufen, müssen Sie die Informationen in den Parameter AFormatSettings aufnehmen. Die landesspezifischen Standardinformationen können AFormatSettings mit TFormatSettings.Create zugewiesen werden.

Siehe auch

Codebeispiele