在一個宏中,我有2個變量,A和B.A是一個循環變量,是從1到12的整數.B在A爲1時需要爲01,在A爲02時是2等,當A是10時是10,當A是11時是11,當A是12時是12。基本上B需要是2位,可能具有前導零。在datastep這是很容易:如何使用SYSFUNCT和PUTC或PUTN
B=PUT(A,z2.);
但宏的代碼將無法正常工作和SYSFUNC不會與PUT功能在裏面工作。那麼如何完成這項工作呢?
在一個宏中,我有2個變量,A和B.A是一個循環變量,是從1到12的整數.B在A爲1時需要爲01,在A爲02時是2等,當A是10時是10,當A是11時是11,當A是12時是12。基本上B需要是2位,可能具有前導零。在datastep這是很容易:如何使用SYSFUNCT和PUTC或PUTN
B=PUT(A,z2.);
但宏的代碼將無法正常工作和SYSFUNC不會與PUT功能在裏面工作。那麼如何完成這項工作呢?
putn
工作正常。 putc
適用於輸入字符參數($格式),putn
適用於像這樣的輸入數字參數。
%let a=5;
%let b=%sysfunc(putn(&a,z2.));
%put &=a. &=b.;
答案在您的標題中。 %sysfunc(putn(A,Z,2)); –