Anmelden

View Full Version : Numerisches Feld nicht rechtsbündig füllen



harkne
11-04-16, 14:30
Hallo,

ich habe folgendes Problem.

Ich habe ein 3-stelliges numerisches Feld. Wenn ich in dieses nun 5 linksbündig eingebe, möchte ich dass er die beiden stellen rechts davon mit 0 füllt, so dass 500 darin steht.

Geht das ?

Viele Grüße Harkne

camouflage
11-04-16, 14:40
Multiplizier es doch mit 100

Fuerchau
11-04-16, 14:43
Bei 50 kommt dann 5000 raus.
Ist die Eingabe denn numerisch?
Dann kannst du nicht feststellen, ob bewusst "5" oder "005" eingegeben wurde.
Definiere die Eingabe als Alpha und lasse nur Ziffern zu.
Dann reicht ein XLATE(' ':'0').

harkne
11-04-16, 15:09
Hallo zusammen,

vielen Dank für die Antworten.
Ich denke auch, ich werde es über ein Character-Feld machen.

Ich dachte nur, dass es vielleicht im DDS ein Schlüsselwort gibt wie CHECK(LB) ;-)

Fuerchau
11-04-16, 15:22
Nein, das gibt es nicht.
Allerdings kann es durch Fehlbedienung zu dem unerwünschten Effekt der Nulleneinsetzung geben.
Wenn man definiert hat, dass mit Eingabe+ oder Eingabe- ein Feld rechtsbündig ausrichtet, verhindert das System nicht das verlassen mit der TAB-Taste.
D.h., dass eine Eingabe "5__" durchaus automatisch mit "500" ersetzt werden kann ohne das man da was tun muss.
Dies führte bei so manchen Anwendungen durch aus zu Problemen wenn der User z.B. bei einer 9-stelligen Menge die 1 und TAB gedrückt hat. Das Programm verarbeitet dann 100000000!