SAS中宏变量的属性变化

时间:2013-07-16 20:21:00

标签: macros sas

我有一个像& a 这样的宏变量,其值为(1234.45)* 。我正在尝试从宏中替换,并将其替换为否定标记,因为它是负数。

%let a=(1234.45)

我申请的一些选项是

%macro test1;

%if %substr(&a,1,1) = '(' %then %do; 
        %let b=%substr(&a,1,'-')
%end;

%mend;

%test1

1 个答案:

答案 0 :(得分:4)

这是数字转换,最好在数据步骤中处理。如果由于某种原因你确实需要一个宏变量,请使用SYMPUT。

%let a=(1234.45);

data _null_;
x=input("&a.",comma10.);
call symputx("b",x);
run;
%put &=a &=b;