FormatFloat

Extended- oder Float-Variablen sind oft richtige Ungetüme. Sei es als große Ganzzahl oder als Nachkommazahl. Will man diese Variablen auf einem RennBildschirm ausgeben, muss man sie entweder in handlichere Integervariablen umwandeln oder als String formatieren.


Syntax

Befehl FormatFloat(fmt:String, e:Extended)
Funktion Wandelt eine Fließkommazahl in eine Zeichenfolge um. Das Ergebnis ist ein String.
Parameter 1 Format-String. Bringt die Zahl in eine gut lesbare Form
Parameter 2 Variable vom Typ Extended/Float
Rückgabewert String


Codebeispiel

In diesem Beispiel erhält eine rationale Zahl Tausendertrennzeichen und 3 Nachkommastellen und liegt anschließend als String vor.

var
  kommazahl : Extended;
  sKommazahl: String;
  
begin
  
  kommazahl := 1004500.568;
  sKommazhal := FormatFloat('#,##0.000', kommazahl);

  cpShowMessage('Kommazahl als String: ' + sKommazahl + '.');
  
end.


Format-String

Wie funktioniert das Ganze? Der erste Parameter des Befehls definiert das Aussehen der späteren String-Ausgabe. Folgende Zeichen sind möglich:

0 An dieser Stelle der Zeichenfolge wird immer eine 0 ausgegeben, z.B. als führende Null. So formatiert '000000' die Zahl '100' mit drei führenden Nullen als '000100'.
# An dieser Stelle steht eine Ziffer, sofern der Wert das hergibt. Die Zahl '10000' wird durch die Formatierung mit '#00' zu '10000', während die Ausgabe der Zahl '10' so aussieht '10'. Eine Ziffer '1' erscheint als '01' auf der Anzeige.
, Mit dem Komma wird das Tausender-Trennzeichen aus den Regionseinstellungen des Betriebssystems eingefügt. Das Format '#,##0' gibt die Zahl '100000' als '100.000' auf einem Windows mit deutschen Regionseinstellungen aus.
. Der Punkt steht für das Dezimaltrennzeichen und greift ebenfalls auf die Regionseinstellungen des Betriebssystems zu. Die Formatierung mit '#.##0.000' führt zur Anzeige von '10,123' für die Zahl '10,122892345756'.
E+ Formatiert einen Wert als positiven Exponent. Da diese Ausgabe wohl eher nicht für die Zeitmessung verwendet wird, gehen wir nicht näher darauf ein.
E- Formatiert einen Wert als negativen Exponent. Da diese Ausgabe wohl eher nicht für die Zeitmessung verwendet wird, gehen wir nicht näher darauf ein.
; Dieses Zeichen im Format-String erlaubt die Angabe unterschiedlicher Formatierungen, z.B. für positive oder negative Ergebnisse. Die Format-Anweisung '„pos“ #0.000;„neg“ #0.000' macht aus der Zahl '-10,23676' die Ausgabe 'neg 10,237', während bei positiver Zahl '10,23676' die Ausgabe 'pos 10,237' lautet.



Start - FAQ - Glossar - Sitemap - Impressum

 
cockpit-xp/addon/standardfunktionen/formatfloat.txt · Zuletzt geändert: 2020/11/28 12:16 (Externe Bearbeitung)