Die Funktion 'sysLib.convertUnicodeNumToNumber()' bietet EGL-Unterstützung für COBOL-Variablen im Format NATIONAL SIGN IS LEADING, SEPARATE.
15 UNICODENUMBER PIC S9(11)V9(04) USAGE NATIONAL SIGN IS LEADING, SEPARATE.
Die Systemfunktion 'sysLib.convertUnicodeNumToNumber()' konvertiert die Ziffern einer Quellenvariablen, die UNICODE-Zeichen mit vorangestelltem UNICODE-Vorzeichen enthält, in eine numerische Variable. Die Quelle kann führende Nullen für den ganzzahligen Teil und nachfolgende Nullen für den Bruchteil enthalten.
sysLib.convertUnicodeNumToNumber(
Quelle UNICODE in,
Ziel SMALLINT | INT | BIGINT | DECIMAL out] )
n SMALLINT;
u UNICODE(4) = "1234";
// Funktion empfängt Gültigkeitsfehler
// 'u' muss eine Länge von 6 haben
convertUnicodeNumToNumber(u, n);
n BIGINT;
u UNICODE(20) = "-0000000001234567890";
// Funktion setzt 'n' auf -1234567890
convertUnicodeNumToNumber(u, n);
n DECIMAL(31,4);
u UNICODE(32) = "+1234567890123456789012345678901";
// Funktion setzt 'n' auf 123456789012345678901234567.8901
convertUnicodeNumToNumber(u, n);
// Nächste Zeile empfängt Gültigkeitsfehler für COBOL
// Variablen vom Typ NUM sind bei COBOL auf eine Länge von 31 beschränkt
n NUM(32,4);
u UNICODE(33) = "+012345678901234567890123456789012";
// Bei Java setzt die Funktion 'n' auf
// 1234567890123456789012345678.9012
convertUnicodeNumToNumber(u, n);
n DECIMAL(8,4);
u UNICODE(10) = "0123456789";
// Funktion löst 'TypeConversionException' aus
// "0" ist kein gültiges Vorzeichen
convertUnicodeNumToNumber(u, n);
| Plattform | Problem |
|---|---|
| JavaScript-Generierung | Die Funktion 'sysLib.convertUnicodeNumToNumber()' wird nicht unterstützt. |