SAS中文论坛

标题: 返回数值n所对应的ACSII码字符 [打印本页]

作者: shiyiming    时间: 2011-5-10 15:59
标题: 返回数值n所对应的ACSII码字符
才不久刚好了解到 Byte函数 好像可以返回某一数字n所对应的ASCII码字符,就试着编了一段小程序来测了一下!
不过当只有输入的 n值为数字 0~~9之间所对应的ASCII值时,程序才能成功,有没有什么可以直接任意的输入一个
ASCII值就把所对应的字符打印出来,而不是仅仅局限在0~~9这10个数字!!
[code:1qn2csq8]data _null_;
%let a=%sysfunc(byte(48));
aa=&a.;
put aa=;
run;[/code:1qn2csq8]
作者: shiyiming    时间: 2011-5-11 00:18
标题: Re: 返回数值n所对应的ACSII码字符
你大概刚好测试了一些不可显示的ASCII 码。

data _null_;
  a= byte(80) ;
put a=;
run;
作者: shiyiming    时间: 2011-5-11 08:54
标题: Re: 返回数值n所对应的ACSII码字符
[quote="sun59338":17ldfdi6]你大概刚好测试了一些不可显示的ASCII 码。
[/quote:17ldfdi6]

我想主要原因还是刚开始时,中间多了一个宏变量的过程,才会造成上面的错误:
如 n 取 80 时,log窗口会出现变量 P未初始化的警告,当取另外某些值时,又会出现错误,如:
n=58 时:ERROR 386-185: 期望算术表达式。ERROR 200-322: 该符号不可识别,将被忽略。
n=59 时:ERROR 22-322: 语法错误,期望下列之一: 名称, 带引号的字符串, 数值常数, 日期时间常数, 缺失值, INPUT, PUT.
...




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2