全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1647 6
2018-11-21
请问一下运行下面的程序,为什么连接的phone里面code的第一个0没有了,还有-和number之间有一个空格?比如第一个观测的phone就是816- 6235926,-和6之间有一个空格。谢谢。
data codephone_2;
input code$ number;
phone=input(code, 4.)||'-'||put(number,8.);
cards;
0816 6235926
028 6213456
0812 5213467
;
run;

二维码

扫码加我 拉你入群

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

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

全部回复
2018-11-21 21:34:40
你的Code输入时候已经是字符型,不需要PUT函数另外转换;你用PUT函数转换NUMBER变量的时候选的宽度是8,所以转换出的字符变量也是8位长度的,可以使用STRIP函数去除两端空格。如果你要保留8位长度电话号码并自适应更改的话,可以参考如下代码,“PHONE_NEW”变量应该是你想要的结果:

复制代码

二维码

扫码加我 拉你入群

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

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

2018-11-22 15:16:28
hszest 发表于 2018-11-21 21:34
你的Code输入时候已经是字符型,不需要PUT函数另外转换;你用PUT函数转换NUMBER变量的时候选的宽度是8,所以 ...
谢谢解答!请问一下,number变量本来宽度是8,为什么用put函数转换number为字符型后会有空格?再次谢谢您的解答。
二维码

扫码加我 拉你入群

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

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

2018-11-22 15:34:54
1061047021 发表于 2018-11-22 15:16
谢谢解答!请问一下,number变量本来宽度是8,为什么用put函数转换number为字符型后会有空格?再次谢谢您 ...
虽然Number变量的宽度是8,但是你实际的数字只有7位啊,空的一位就空格填充了
二维码

扫码加我 拉你入群

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

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

2018-11-23 14:35:37
hszest 发表于 2018-11-22 15:34
虽然Number变量的宽度是8,但是你实际的数字只有7位啊,空的一位就空格填充了
哦哦,谢谢,太不细心了我。
二维码

扫码加我 拉你入群

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

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

2018-11-24 12:59:58
1061047021 发表于 2018-11-23 14:35
哦哦,谢谢,太不细心了我。
再请问一下,为什么code也需要用strip函数压缩?我运行了各种情况,只有您发的程序能得出最终的结果,谢谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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