SAS字符数字转换

SAS数值型变量与字符型变量之间的转换

·

之前写过一篇字符变量转换为数值型变量的文章,这次算是总结上次的,在加上一个数值转字符的方法。在一般的情况下,前者用到的可能性药大一点,因为有时候在进行各种不同类型的数据库之间转移的时候经常会出现意外,或者在数据录入的时候的意外字符混入。

字符型变量转数值型变量

这里提供2种方法:

1.       使用运算符转换

原理就是字符型加上一个0,sas就会默认的把这个计算得到的变量设为数值型。

例 字符自动转数值

data b;

input x y$;

   datalines ;

    1 12

    2 13a

    3 14

    ;

run;

 

data b ;

set b;

z=y+0;

drop y ;

run;

 

data b ;

set b;

rename z=y ;

run;

2. 函数INPUT将字符转换为数值

INPUT函数的形式:

INPUT (数据源, 输入格式);

其中:

·数据源为要转换为数值的变量,常数或表达式。数据源既可以是数值型,也可以是字符型。

·输入格式指定了对数据源进行转换的输入格式。

例2.17 转换字符变量为数值变量。

data b;

input x y$;

   datalines ;

    1 12

    2 13a

    3 14

    ;

run;

 

data b;

set b;

z=input(y, 6.);

run;2.18 转换字符型常数值为数值常数。

data a;

y=input('55888', 8.1);

put y;

显示结果:56888为字符常数值.

 

 

数值型变量转字符型变量

1.函数PUT将数值转换为字符。

 

例2.21 转换数值变量为字符变量。

data b;

input x y$;

   datalines ;

    1 12

    2 13a

    3 14

    ;

run;

 

data b ;

set b;

z=put (x ,$3.);

run;

 

put(数据源, 输出格式)

其中:

数据源为要转换为字符值的变量、常数或表达式。数据x既可以是数值型,也可以是字符型。

输出格式规定对数据源进行转换的输出格式。

2使用运算符合cat函数:

 

data b;

   input x y$;

   datalines ;

    1 12

    2 13a

    3 14

    ;

run;

data b ;

drop z;

set b;

run;

 

z="";//建立一个空字符变量,用于与变量x合并

new_y=y+0;

new_x=cat(x,z);

run;

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值