PDA

View Full Version : Umwandlung von Zahlen zum String (RPG)



Schorsch
14-10-04, 14:21
Hallo,

ich habe mal wieder ein Problem mit der Datenfeldkonvertierung in RPG.
Ich habe z. B. ein 5P3-Feld mit Inhalt 0.034.
Nach einer Umwandlung mit %Char erhalte ich '.034'.
Ich hätte aber gerne '0.034'.

Hat jemand den richtigen Tip parat?

Danke schon mal im vorraus

MfG
Schorsch

Fuerchau
14-10-04, 14:25
Dies geht dann nur mit %EDITC(). Wenn du einen Dezimalpunkt statt Komma benötigst, entweder per H-Bestimmung oder per %xlate() ersetzen. Für Linksbündig das ganze noch per %trim():

mychar = %trim(%xlate(%editc(mynum:'1'):',':'.'));

Schorsch
14-10-04, 14:57
Hallo,

danke für die schnelle Antwort.

So habe mal folgendes probiert:

D §§ArtGGewi S 12P 3
D mychar S 100A

§§ArtGGewi beinhaltet lt. Debugger 0.084

mychar = %trim(%xlate(%editc(§§ArtGGewi:'1'):',':'.'));

Im Debugger ist der Inhalt von mychar '. '

Habe ich was falsch gemacht?

MfG
Schorsch

B.Hauser
14-10-04, 15:03
Hallo,

wenn Du diese Aufbereitung für alle Zahlen möchtest, kannst Du auch in den H-Bestimmungen das Schlüssel-Wort DECEDIT wie folgt setzen, dann klappt's auch mit %Char:



H DecEdit('0.')
*-------------------------------------------------
D MyNumFld S 9S 3 inz(0,145)
D AusgFld S 15A
*-------------------------------------------------
/Free
AusgFld = %Char(MyNumFld);
Dsply AusgFld;
*InLR = *ON;
/End-Free


Birgitta

Fuerchau
14-10-04, 15:13
Ach Birgitta, warum denke ich nicht mal öfter an so einfache Dinge.
Die Einstellung hatte ich glatt vergessen !
;););)

Schorsch
14-10-04, 15:16
Hallo nochmal,

der Tip mit dem H-Zeilen-Eintrag
hat super funktioniert, vielen vielen Dank!

MfG
Schorsch

Fuerchau
14-10-04, 15:38
Ach ja, der H-Zeileneintrag wirkt im übrigen auch auf %editc() !