sysLib.convertUnicodeNumToNumber() 関数は、NATIONAL SIGN IS LEADING, SEPARATE フォーマットの COBOL 変数に対する EGL サポートを提供します。
15 UNICODENUMBER PIC S9(11)V9(04) USAGE NATIONAL SIGN IS LEADING, SEPARATE.
sysLib.convertUnicodeNumToNumber() システム関数は、先頭に UNICODE 符号文字の付いた UNICODE 文字を含むソース変数の数字を、数値変数に変換します。ソースの整数部分には先行ゼロを、小数部分には後続ゼロを組み込むことができます。
sysLib.convertUnicodeNumToNumber(
source UNICODE in,
target SMALLINT | INT | BIGINT | DECIMAL out] )
n SMALLINT;
u UNICODE(4) = "1234";
// 関数で検証エラーが発生
// u に長さ 6 が必要です
convertUnicodeNumToNumber(u, n);
n BIGINT;
u UNICODE(20) = "-0000000001234567890";
// 関数が n を -1234567890 に設定します
convertUnicodeNumToNumber(u, n);
n DECIMAL(31,4);
u UNICODE(32) = "+1234567890123456789012345678901";
// 関数が n を 123456789012345678901234567.8901 に設定します
convertUnicodeNumToNumber(u, n);
// 次の行で COBOL の検証エラーが発生
// NUM 変数は COBOL の場合 31 の長さに制限
n NUM(32,4);
u UNICODE(33) = "+012345678901234567890123456789012";
// Java の場合、関数が n を
// 1234567890123456789012345678.9012 に設定します
convertUnicodeNumToNumber(u, n);
n DECIMAL(8,4);
u UNICODE(10) = "0123456789";
// 関数が TypeConversionException をスローします
// 「0」は無効な符号文字
convertUnicodeNumToNumber(u, n);
| プラットフォーム | 問題 |
|---|---|
| JavaScript 生成 | 関数 sysLib.convertUnicodeNumToNumber() はサポートされていません。 |