我在SAS
中有两个数字变量:
%let var1=10;
%let var2=8;
我必须在两者之间进行划分,但如果我这样做:
%let var3=%eval(&var2/&var1);
%put &var3;
结果是0
。由于var2
是var1
的子集,因此默认情况下系统将数字四舍五入为0
。事实上,如果我&var1/&var2
,结果为1
。
鉴于我必须将此值用于百分比,我需要使用小数进行维护。
我怎样才能克服这个?
答案 0 :(得分:3)
如果您需要除整数运算之外的其他内容,则需要使用%SYSEVALF()
。
宏代码用于生成文本。如果你真的需要进行计算,你应该在数据步骤中进行计算。