%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'
変更の終わり