Anwendungsgebiet: Konvertierungsfunktionen
Die Funktion CHARACTER-TO-INTEGER( ) konvertiert ein Zeichen in eine Dezimalzahl, ausgehend von der Codierung des Zeichens im EBCDI-Code .
Besteht der Eingabestring aus mehreren Zeichen, wird nur das erste Zeichen umgesetzt.
Durch Kombination mit den entsprechenden String-Funktionen (z.B. SUBSTRING) können aber auch alle Zeichen eines Strings konvertiert werden.
Format
CHARACTER-TO-INTEGER( ) CHAR-TO-INT( ) |
STRING = string_ausdruck |
Ergebnistyp
INTEGER (<integer 0..255>)
Eingabeparameter
STRING = string_ausdruck
Bezeichnet den String, dessen erstes Zeichen konvertiert wird.
Bezeichnet „string_ausdruck“ den Leerstring, wird eine Fehlermeldung ausgegeben.
Ergebnis
Integer <integer 0..255>
Fehlermeldung
SDP0417 ANGEGEBENER STRING LEER. FUNKTION NICHT AUSGEFUEHRT
Beispiel 1: Konvertierung eines Zeichens
/C = CHARACTER-TO-INTEGER(STRING = 'ABC') /SHOW-VARIABLE C C = 193
Das erste Zeichen des Strings, das A, wird im EBCDI-Code in Halbbyte-Schreibweise als X'C1' dargestellt, in Binär-Schreibweise als B'11000001'. Dies entspricht dem Wert 193 im Dezimalsystem (= 128 + 64 + 1). CHARACTER-TO-INTEGER( ) konvertiert daher den Buchstaben A in die Zahl 193.
Beispiel 2: Konvertierung aller Zeichen eines Strings
/BEGIN-BLOCK / ZAHL = 1 / ZFOLGE = 'ABC' / SUBST: KONVFOLGE = SUBSTRING(ZFOLGE, ZAHL) / CODE = CHARACTER-TO-INTEGER(STRING = KONVFOLGE) / SHOW-VARIABLE CODE / ZAHL = ZAHL+1 / IF (ZAHL < 4) / GOTO SUBST / END-IF /END-BLOCK
SHOW-VARIABLE gibt in einer Schleife nacheinander die Zahlen 193, 194 und 195 aus.