如何将数字右对齐?

How do I put numbers right aligned?

如何在 SAS 数据步骤中将数字右对齐?

data _null_;

  num =    1; put num=6.0;
  num =   10; put num=6.0;
  num =  100; put num=6.0;

run;

这个数据步骤把

num=1
num=10
num=100

我想要(和期望)的是它会把

num=     1
num=    10
num=   100

当我使用 Zw.d 格式时,数字 "correctly" 右对齐,但带有可怕的 0 填充。

问题是你在 put 语句中有那个讨厌的 = 符号。它抛出了 PUT 语句如何对齐变量的逻辑。

看到这个对齐变量:

data _null_;
  num =    1; put  num 6.;
  num =   10; put  num 6.;
  num =  100; put  num 6.;
run; 

像这样:

     1
    10
   100

所以如果你想让 num= 出现在日志中,你必须单独打印它

data _null_;
  num =    1; put "num=" num 6.;
  num =   10; put "num=" num 6.;
  num =  100; put "num=" num 6.;
run;

产生这个:

num=     1
num=    10
num=   100