如何不使用SAS中的变量对除法的值进行舍入

时间:2016-05-05 10:05:19

标签: sas dataset rounding sas-macro

我在SAS中有两个数字变量:

%let var1=10;
%let var2=8;

我必须在两者之间进行划分,但如果我这样做:

%let var3=%eval(&var2/&var1);
%put &var3;

结果是0。由于var2var1的子集,因此默认情况下系统将数字四舍五入为0。事实上,如果我&var1/&var2,结果为1

鉴于我必须将此值用于百分比,我需要使用小数进行维护。

我怎样才能克服这个?

1 个答案:

答案 0 :(得分:3)

如果您需要除整数运算之外的其他内容,则需要使用%SYSEVALF()

宏代码用于生成文本。如果你真的需要进行计算,你应该在数据步骤中进行计算。