この関数は、sysLib.convertNumberToUnicodeNum() の補完として、符号なしフォーマットでの COBOL 変数に対する EGL サポートを提供します。
sysLib.convertNumberToUnsignedUnicodeNum() システム関数は、ソース数値の数字の絶対値を、UNICODE 符号文字のない UNICODE 文字に変換します。 先行ゼロは整数部分に組み込まれ、後続ゼロは小数部分に組み込まれます。小数点文字は組み込まれません。
UNICODE 変数の長さは、数値の長さに対応したものにする必要があります。 UNICODE 変数の必要な長さをリストした表については、UNICODE の数値変換に必要な長さを参照してください。
sysLib.convertNumberToUnsignedUnicodeNum(
source SMALLINT | INT | BIGINT | DECIMAL | BIN | NUM in,
target UNICODE out] )
n1 SMALLINT = 1234;
u1 UNICODE(4);
// 関数で検証エラーが発生
// u1 には 5 の長さが必要
convertNumberToUnsignedUnicodeNum(n1, u1);
n2 SMALLINT = 1234;
u2 UNICODE(5);
// 関数が u2 を「01234」に設定
convertNumberToUnsignedUnicodeNum(n2, u2);
n3 INT = 123456789;
u3 UNICODE(10);
// 関数が u3 を
// 「0123456789」に設定
convertNumberToUnsignedUnicodeNum(n3, u3);
n4 BIGINT = -1234567890;
u4 UNICODE(19);
// 関数が u4 を
// 「0000000001234567890」に設定
convertNumberToUnsignedUnicodeNum(n4, u4);
n5 BIN(18, 9) = -123456.1234;
u5 UNICODE(19);
// 関数が u5 を
// 「0000123456123400000」に設定
convertNumberToUnsignedUnicodeNum(n5, u5);
n6 DECIMAL(31, 4) = 123456789012345678901234567.8901;
u6 UNICODE(31);
// 関数が u6 を
// 「1234567890123456789012345678901」に設定
convertNumberToUnsignedUnicodeNum(n6, u6);
// 次の行で COBOL の検証エラーが発生
// NUM 変数は COBOL の場合 31 の長さに制限
n7 NUM(32, 4) = 1234567890123456789012345678.9012;
u7 UNICODE(32);
// Java の場合、関数が u7 を
// 「12345678901234567890123456789012」に設定
convertNumberToUnsignedUnicodeNum(n7, u7);
| プラットフォーム | 問題 |
|---|---|
| JavaScript 生成 | 関数 sysLib.convertNumberToUnsignedUnicodeNum() はサポートされていません。 |