SAS:字符和数字互相转换函数input()和put()简介

SAS中的input()函数可以将字符串转换为数值,put()函数可以将数值转换为字符串,它们都需要两个参数:

INPUT(source, <? | ??> informat.)

PUT(source, format.)

 

其中informat.是指source的格式,

示例1:

1    data _NULL_;
2     sale='2,115,353';
3     fmtsale=input(sale,comma9.);
4     put _ALL_;
5    run;

sale=2,115,353 fmtsale=2115353 _ERROR_=0 _N_=1
 

这里的sale被转换为了数值型的2115353

 

示例2:

18   data _NULL_;
19    numdate=112591;
20    chardate=put(numdate, z6.);
21    sasdate=input(chardate, mmddyy6.);
22    put _ALL_;
23   run;

numdate=112591 chardate=112591 sasdate=11651 _ERROR_=0 _N_=1
 

这个例子中,数值型112591首先被转换为了字符串'112591',然后字符串被转换为SAS格式的日期(数值型)

 

注:这里使用了input和put函数显式地进行了类型转换,如果是隐式类型转换,存在以下的限制:

1. 不符合数字的不会转换,比如 '2,115,353'不能转换为数字2115353,因为包含非法字符:逗号

2. where中不会发生类型转换,如果类型不一致,会报错。

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值