IBMi(AS400)ユーザーの為の情報ページ(作成中)
%DEC
文字フィールドの数値を数値フ ィールドに変換。
3桁毎の桁区切りがある場合。
H DATEDIT(*YMD/) DATFMT(*ISO)
D WKNUM S 8 0
D WKNUMCHAR S 8A
D WKNUM2 S 8 1
D WKNUMCHAR2 S 8A
C*
/FREE
//整数のみ:桁区切り有り
EVAL WKNUMCHAR = '1,111'; //文字「1,111 」
EVAL WKNUM = %DEC(WKNUMCHAR: 8: 0); //数値「00000001」
EVAL WKNUMCHAR2 = '1,111'; //文字「1,111 」
EVAL WKNUM2 = %DEC(WKNUMCHAR2: 8: 1); //数値「0000001.1」
//小数点有り:桁区切り有り
// EVAL WKNUMCHAR = '1,111.1'; //文字「1,111.1 」
// EVAL WKNUM = %DEC(WKNUMCHAR: 8: 0); //エラー
// EVAL WKNUMCHAR2 = '1,111.1'; //文字「1,111.1 」
// EVAL WKNUM2 = %DEC(WKNUMCHAR2: 8: 1); //エラー
EVAL WKNUMCHAR2 = '1,111.1'; //文字「1,111.1 」
EVAL WKNUM2 = %DEC(%XLATE(',': ' ': WKNUMCHAR2): 8: 1); //数値「0001111.1」
EVAL *INLR = *ON;
/END-FREE