%CHAR(数値)
%CHAR は、数値式の値を文字型に変換できます。
式の値が浮動であれば、結果は浮動形式になります (たとえば、「+1.125000000000000E+020」)。 そうでない場合の結果は、値が負であれば先行負符号がついた 10 進数形式になります。 先行ゼロはありません。小数点として使用される文字は、制御仕様書の DECEDIT キーワードで指定されている文字になります (デフォルトは「.」)。たとえば、パック (7,3) の %CHAR 式は、値 「-1.234」を戻すことになります。
戻り値の CCSID は *JOBRUN です。
詳細については、変換命令または 組み込み関数を参照してください。

数値がパラメーターに指定された %CHAR の例
D result S 100A VARYING
D points S 10I 0 INZ(234)
D total S 7P 2 INZ(523.45)
D adjust S 7P 2 INZ(-123.45)
D variance S 8F INZ(.01234)
次の例では、整数値を文字形式に変換します。
result = 'You have ' + %char(points) + ' points.';
// result = 'You have 234 points.'
次の例では、浮動小数点値を文字形式に変換します。
result = 'The variance is ' + %char(variance);
// result = 'The variance is +1,234000000000000E-002'
次の例では、パック値を文字形式に変換します。
result = 'Total is ' + %char(total) + ' and '
+ 'Adjust is ' + %char(adjust);
// result = 'Total is 523.45 and Adjust is -123.45'
次の例では、%CHAR によって使用される小数点文字を制御仕様 DECEDIT 値で変更する方法を示します。
DECEDIT(*JOBRUN) が制御ステートメントに指定されていると
想定します。したがって、ジョブからの DECFMT 値
が小数点値を決定します。
ジョブ DECFMT 値が「J」であると想定します。
result = 'Total is ' + %char(total) + ' and '
+ 'Adjust is ' + %char(adjust);
// result = 'Total is 523,45 and Adjust is -123,45'
