FORMAT-Funktion zur Konvertierung Decimal-->Text

5. Juni 2006 23:01

Hallo Freunde,

ich hab' eine Weile versucht, aus einem Decimal-Feld ein Text-Feld zu machen. das geht doch mit FORMAT, oder ?
Aber es will mir nicht gelingen, damit wirklich das richtige herauszubekommen. :-(

Könnte mir bitte jemand helfen, aus dem Feld item.inventory ein textfeld im Format 000000001.000 zu machen?

Tausend Dank !!!

5. Juni 2006 23:35

Dazu benötigt es zwei Schritte:
1. Formatierung von 1 zu 1.000
2. Formatierung von 1.000 zu 000000001.000

So sollte es gehen:
1. DecimalText := FORMAT(DecimalValue,0,'[...]<Precision,3:3>');
2. DecimalText := PADSTR('',13 - STRLEN(DecimalText),'0') + DecimalText;

6. Juni 2006 11:24

Mit einem FORMAT-Bandwurm sollte es auch klappen :

DecimalText := FORMAT(Item.Inventory,0,'<Integer,9><Filler Character,0><Decimals,4><Comma,.><Precision,3:3>');

7. Juni 2006 14:10

DANKE, hat super geklappt.

15. Juni 2006 11:59

Kleine Ergänzung :
Wenn auch negative Lagerbestände vorhanden sind, muss das Vorzeichen natürlich mit angezeigt werden:

DecimalText := FORMAT(Item.Inventory,0,'<Sign><Integer,9><Filler Character,0><Decimals,4><Comma,.><Precision,3:3>');