各位高手请教一个RPG问题,在RPG中如何将字符转化为数字?
哈...新手见笑
mingzhao_yu 回复于:2003-08-11 20:51:28 |
如果字符串里面没有别的符号,可以用move操作实现 |
dickzhou 回复于:2003-08-11 21:39:51 |
首先TESTN测试一下字符串,如果字符串为数字串的话,用MOVE就可以了! |
newbiezhang 回复于:2003-08-12 20:19:37 |
[quote:31e9d72e58="dickzhou"]首先TESTN测试一下字符串,如果字符串为数字串的话,用MOVE就可以了![/quote:31e9d72e58]
高手!精华!佩服!哈哈。。。。。。 这算不算灌水啊。 |
lyq管理 回复于:2003-08-13 17:19:36 |
我记得可以使用%VAL |
myyzq 回复于:2003-09-11 19:26:47 |
move就可以了,不过位数步等长的话 会产生前置o |
lansa2003 回复于:2003-09-13 17:22:00 |
MOVE 不行如果有正副号呢,如果有小数点呢,请喜欢MOVE 的朋友考虑一下 |
michael9406 回复于:2003-09-13 19:22:05 |
c IF U1FLAG = ' '
C EVAL DESC = 'From-' + %char(u1frdat) c + '-to-' + %char(u1todat) c + '-' + %TRIM(U1NAME) c call 'ZZrt56999CL' C parm u1id C parm desc |
myyzq 回复于:2003-09-14 20:03:31 |
没有cl怎么看阿 昏死 |
钩子 回复于:2003-09-15 13:52:06 |
定义一个数字变量,然后把文字move给定义的变量就可以了~然后可以用变量来进行数字运算~
前提是仅含数字的文字~ |
翔龙子 回复于:2003-09-24 22:22:35 |
[quote:7e1e913c11="myyzq"]move就可以了,不过位数步等长的话 会产生前置o[/quote:7e1e913c11]
前置0吗?为什么我会出现后智0呢? 我写了个程序A,入口参数定义为 D L_STRRAG 11S 0 D* C *ENTRY PLIST C PARM STRRAG 3A C* C MOVE STRRAG L_STRRAG 如果CALL A '80', 为何L_STRRAG 会等于800而不是期待的80呢?因为公司不允许改变各种参数的定义,哪位高手能帮忙呢? |
myyzq 回复于:2003-09-27 21:06:23 |
不能随便改动全系统的参数是对的,不然开发很容易失败
但是你的好像应该不会阿, 我现在在家,回公司试试!! |
malata 回复于:2003-09-29 11:30:19 |
to 翔龙子:
对于char型数据,传参时系统默认是左靠齐的,传到A里STRRAG(3位)的 值是'80 ',再把STRRAG右传送给11位长的L_STRRAG,占据右三位, 结果当然是800喽! |
翔龙子 回复于:2003-09-30 23:46:31 |
谢谢楼上,这个我在Debug的时候知道了,400里面难道没有简便一点的方法实现字符与数值之间的转换吗? |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/