Chinaunix

标题: rpgiv中如何检查一个字符属性的字段中,输入的都是数字? [打印本页]

作者: V01619    时间: 2011-04-07 13:18
标题: rpgiv中如何检查一个字符属性的字段中,输入的都是数字?
做了一个输入类型的子文件,由于一栏中输入的数字长度都不一致,
所以设置了一个文字型的字段,在里面输入数字。
有没有函数,可以检测输入的值是0~9,
而不是其它字符?
作者: mamei    时间: 2011-04-07 13:36
手头没有机器,没有办法测试

设想:

定义一个0-9的字符串,

用%checkr应该可以实现!
作者: rolexliu    时间: 2011-04-07 13:40
Move到一个(9,0)的数字变量试试, 在monitor message哈哈 lol
作者: insmile    时间: 2011-04-07 22:21
定义一个常量C_CHAR,值为‘0123456789’

C_CHAR     CHECK     AAA                  90


判断指示器90就知道了
作者: passthru    时间: 2011-04-07 23:29
本帖最后由 passthru 于 2011-04-08 08:51 编辑

补充rpgiv自由格式:

d s_Pos                   s                   5 0  inz
d s_Pos2                 s                   5 0  inz(1)
d c_Digit                  s                  10    inz('0123456789')
/free
       ....
       //如果字符变量是C_String
       s_Pos = %check(c_Digit:C_String:1) ;
       if s_Pos > 0 ;
            // 存在数字
        ...
       else ;
        //没有数字
    endif ;

    //如果有多个数字
      do ;
            s_Pos = %check(c_Digit:C_String:s_Pos2) ;
            if s_Pos > 0
               //判断数字处理
               s_Pos2 = s_Pos ;
            else ;
          leave ;
       endif ;
    enddo ;
    ....
/end-free




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2