免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3651 | 回复: 7
打印 上一主题 下一主题

关于字符型变量转数字型的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-24 14:21 |只看该作者 |倒序浏览
C                   move      '123     '    IN                8   
C                   Z-ADD     0             OUT               8 0
怎样才能得到: out = 00000123
??

论坛徽章:
0
2 [报告]
发表于 2006-05-24 15:11 |只看该作者
C                          move  '123 '   IN      8   
C                          TESTN            IN                                90            
* XIN IS NUMBER  90 EQ ON                                 
C           *IN90     IFEQ   *ON                                                                                             
C                          MOVE XIN      OUT    80
C                          ENDIF


这个方法有点笨,不过可以拿到你想要的数字 .

[ 本帖最后由 sa_hata 于 2006-5-24 15:14 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-05-24 15:32 |只看该作者
可能需要用数组把字符变为右存放的形式,然后通过XLATE函数替换空格才行吧

论坛徽章:
0
4 [报告]
发表于 2006-05-24 16:47 |只看该作者
终于搞定了。
D in              S              8A   varying inz('12312   ')           
c*                                                                     
C                   Z-ADD     0             OUT               8 0      
C                   Z-ADD     0             temp              8 0      
c*                                                                     
c                   eval      temp = %len(%trim(in))                    
c                   eval      %len(in) = temp                           
c                   move      in            out                        
c*                                                                     
C                                                                       
C

论坛徽章:
0
5 [报告]
发表于 2006-05-24 17:13 |只看该作者
不懂rpgle啊,
eval      %len(in) = temp           这句什么意思啊

论坛徽章:
0
6 [报告]
发表于 2006-05-24 17:18 |只看该作者
原帖由 fxf_china 于 2006-5-24 17:13 发表
不懂rpgle啊,
eval      %len(in) = temp           这句什么意思啊


%len有两个作用,get , set长度。

eval      %len(in) = temp  在这里是set, in变量的长度为 temp那么长。但是in必须是动态的.

论坛徽章:
0
7 [报告]
发表于 2006-05-24 17:21 |只看该作者
IN本来是8位的,居然能够变成5位的!好厉害

论坛徽章:
0
8 [报告]
发表于 2006-05-25 10:54 |只看该作者
原帖由 chinagirlwang 于 2006-5-24 16:47 发表
终于搞定了。
D in              S              8A   varying inz('12312   ')           
c*                                                                     
C                   Z-ADD     0     ...



RPG4   一定得要找些资料看看 ....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP