PDA

View Full Version : Alpha Feld -> Alpha Feld ohne führende Nullen



Seiten : [1] 2

llschuh
29-04-08, 12:53
Hallo zusammen,

ich möchte gerne ein Alpha-Feld
mit Inhalt z.B. "0023" umformatieren,
sodass der Inhalt ohne führende Nullen
ist.
Sprich " 23".
Wie mache ich das am besten?

Gruß Dirk

Pikachu
29-04-08, 12:57
Welche Programmiersprache?

llschuh
29-04-08, 12:59
ILE RPG ist die Programmiersprache.

Pikachu
29-04-08, 13:30
So könnte es gehen:

D TEXT S 4A INZ('0034')
D SIZE S 2S 0 INZ(%SIZE(TEXT))
D COUNT S 3S 0
D************************************************* *********************
C '0' CHECK TEXT COUNT
C COUNT IFEQ *ZERO
C ADD SIZE COUNT
C ENDIF
C SUBST(P) TEXT:COUNT TEXT
C SUB 1 COUNT
C '' CAT TEXT:COUNT TEXT
C SETON LR

Fuerchau
29-04-08, 13:47
dow %subst(Text:1:1)='0';
Text = %subst(Text:2);
enddo;

llschuh
29-04-08, 13:57
Besten Dank.
An CHECK hatte ich gar nicht mehr gedacht.
Habe es mit CHECK und SUBST(P) gelöst.

Gruß Dirk

Khholm
29-04-08, 15:38
müßte doch eigentlich noch einfacher gehen:

text = %xlate('0':' ':text)

llschuh
29-04-08, 16:28
Habe es aktuell mit dem CHECK gelöst.

Ich werde aber in der nächsten Woche
die beiden anderen Vorschläge von Euch
auch noch einmal testen und
dann Rückmeldung geben.

Gruß Dirk

mwithake
30-04-08, 07:58
müßte doch eigentlich noch einfacher gehen:

text = %xlate('0':' ':text)

Diese Funktion würde alle Nullen entfernen, aus 00203 würde 2 3 werden.

Ab V5R4 geht es mit %triml(text:'0').

Pikachu
30-04-08, 20:04
Sollen die führenden Nullen durch Leerzeichen ersetzt werden?