RPG

483. 文字を数字に変換するには?

3桁の文字変数: CLEN には ‘3 ’ と数字が左寄せで入っているものとする。
これを 3桁の数字 MAXLEN (3.0)に代入するにはどうすればよいだろうか?
_

            MOVE CLEN  MAXLEN     や
            MOVELCLEN  MAXLEN

では数字 MAXLENの値は 3000 になってしまう。
MAXLEN = 3 と正しい値を代入するには

           EVAL MAXLEN = %DEC(CLEN:3:0)

または

 /FREE
   MAXLEN = %DEC(CLEN:3:0);
 /END-FREE

で正しい代入が可能になる。
つまり RPG III では正しい演算はできない。ILE-RPGで初めて正しい演算が可能になる。
_