Seite 1 von 1

FORMAT-Funktion zur Konvertierung Decimal-->Text

Verfasst: 5. Juni 2006 23:01
von wilfried42x
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 !!!

Verfasst: 5. Juni 2006 23:35
von Timo Lässer
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;

Verfasst: 6. Juni 2006 11:24
von Kowa
Mit einem FORMAT-Bandwurm sollte es auch klappen :

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

Verfasst: 7. Juni 2006 14:10
von wilfried42x
DANKE, hat super geklappt.

Verfasst: 15. Juni 2006 11:59
von Kowa
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>');