2013-07-16 118 views
1

我有一個像&一個具有(1234.45)值的宏變量*。我想,以取代從宏,並自負數一個馬克替換它們。屬性宏變量的變化SAS

%let a=(1234.45) 

一些我所appplied選項是

%macro test1; 

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

%mend; 

%test1 

回答

4

這是數字轉換,並在數據步驟最好的處理。如果由於某種原因,您確實需要一個宏變量,請使用SYMPUT。

%let a=(1234.45); 

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

很好。非常感謝你。 – LonelySoul