%let vc = 12025;
理想的输出( comma格式)是12,025;
但%put %sysfunc(put(&vc,comma6.))似乎不起作用。错误如下。
ERROR: The PUT function referenced in the %SYSFUNC or %QSYSFUNC macro function is not found.
发布于 2015-01-15 09:37:44
PUT函数在%SYSFUNC中不可用,但是可以对数值使用PUTN,对于字符可以使用PUTC。
试着:
%put %sysfunc(putn(&vc,comma6.));发布于 2015-01-15 15:56:00
使用putn()函数格式化%sysfunc()返回的值的另一种方法是使用%sysfunc()的鲜为人知的第二个参数,如下所示:
%let vc = 12025;
%put %sysfunc(sum(&vc),comma6.);第二个参数将格式应用于由%sysfunc()调用的任何函数返回的结果。在上面的例子中,我只是将一个数字本身相加,它实际上只是返回这个数字。如果它是一个字符值,我可以使用cats()函数。
值得注意的是,如果您想执行以下操作,它将简化代码:
%put %sysfunc(putn(%sysfunc(date()),date9.)); 它现在是:
%put %sysfunc(date(),date9.);https://stackoverflow.com/questions/27959405
复制相似问题