全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8856 10
2014-03-12
如题,规定变量的长度是9,不够9的就在前面补0达到9位。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-3-12 17:16:12
那就变成字符型了哦~而且..你最长的就是九位数么?

data a;                                                                                                                                
        input id;                                                                                                                       
        datalines;                                                                                                                     
        1                                                                                                                              
        305                                                                                                                             
        396                                                                                                                             
        123457                                                                                                                          
        997655882                                                                                                                       
        888888888                                                                                                                       
        ;                                                                                                                              
run;                                                                                                                                    
                                                                                                                                       
data b;                                                                                                                                 
set a;                                                                                                                                 
if id<99999999 then new_id=put(id, z9.);                                                                                                
else new_id=id;                                                                                                                        
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-12 17:30:39
yueCynthia 发表于 2014-3-12 17:16
那就变成字符型了哦~而且..你最长的就是九位数么?

data a;                                           ...
数据就是字符型的,是说的长度为9
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-12 17:52:21
380650306 发表于 2014-3-12 17:30
数据就是字符型的,是说的长度为9
那就是这样~

data a;                                                                                                                                                            
        format id $9.;                                                                                                                                               
        input id;                                                                                                                                                   
        datalines;                                                                                                                                                   
        1                                                                                                                                                            
        305                                                                                                                                                         
        396                                                                                                                                                         
        123457                                                                                                                                                      
        997655882                                                                                                                                                   
        888888888                                                                                                                                                   
        ;                                                                                                                                                            
run;                                                                                                                                                                 
                                                                                                                                                                     
data b;                                                                                                                                                              
        set a;                                                                                                                                                               
        format id1 best9.;                                                                                                                                                   
        id1=id;                                                                                                                                                              
        /* 上面两句可以还可以这么写: id1 =id+0; */                                                                                                                     
        if id1<100000000 then new_id=put(id1, z9.);                                                                                                                       
        else new_id=id;                                                                                                                                                      
run;

..我会的都是笨方法..求大神给来个简便的
话说..添加代码文字的话为什么行间距会变得特别大呀?好难看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-14 16:28:36
yueCynthia 发表于 2014-3-12 17:52
那就是这样~

data a;                                                                             ...
data a;                                                                                                                                
        input id;                                                                                                                       
        datalines;                                                                                                                     
        1                                                                                                                              
        305                                                                                                                             
        396                                                                                                                             
        123457                                                                                                                          
        997655882                                                                                                                       
        888888888                                                                                                                       
        ;                                                                                                                              
run;

data a;
set a;
do while(anyalnum(id,-10)<9);
id=cats('0',id);
end;
run;

我这样写了,也可以达到效果。谢谢你!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-3-14 17:40:02
data b;
  set a;
  b=put(input( id, best.), z9.);
run;
直接这样不就好了吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群