在一个宏中,我有两个变量,A和B。A是一个循环变量,是一个从1到12的整数。当A是1时,B需要是01;当A是2时,B需要是02;当A是10时,B需要是10;当A是11时,B需要是11;当A是12时,B需要是12。基本上,B需要是2位数字,可能带有前导零。在数据步骤中,这很简单:
B=PUT(A,z2.);但在宏内,此代码将不起作用,SYSFUNC将不能与PUT函数一起工作。那么如何才能完成这项工作呢?
发布于 2017-02-13 23:09:49
putn工作得很好。formats用于传入的字符参数($ putc ),putn用于传入的数值参数,如下所示。
%let a=5;
%let b=%sysfunc(putn(&a,z2.));
%put &=a. &=b.;https://stackoverflow.com/questions/42206851
复制相似问题