SAS中文论坛
标题:
跟crackman读SAS程序(91)--宏程序中表达式里面的数值比较
[打印本页]
作者:
shiyiming
时间:
2010-11-4 17:49
标题:
跟crackman读SAS程序(91)--宏程序中表达式里面的数值比较
From crackman's blog on Baidu
<p>%macro aa;<br>
%let condition=( 1.2>=1 and 1.2<1.5 ) and ( 1123>=800 and 1123<1200 );</p>
<p>%if &condition %then %do;<br>
%put x;<br>
%end;<br>
%else %do;<br>
%put M;<br>
%end;<br>
%mend aa;<br>
%aa;</p>
<p>这个结果是X</p>
<p>%macro aa;<br>
%let condition=( 1.2>=1 and 1.2<1.5 ) and ( 1123.1>=800 and 1123.1<1200 );</p>
<p>%if &condition %then %do;<br>
%put x;<br>
%end;<br>
%else %do;<br>
%put M;<br>
%end;<br>
%mend aa;<br>
%aa;</p>
<p>结果是M</p>
<p>解释是这样的:</p>
<p> %macro aa;<br>
%put ERROR-%nrstr(%eval(1999999999.9 > 9) -->) <strong><font color="#ff0000">%eval</font></strong>(199999999.1>9);<br>
%put ERROR-%nrstr(%sysevalf(1999999999.9 > 9) -->) <strong><font color="#ff0000">%sysevalf</font></strong>(199999999.1>9);<br>
%mend aa;<br>
%aa<br>
宏编译器在解析这个语句的时候,是要区别数据类型,也是类型不同的数据比较,返回为FALSE,也就是0。</p>
<p>谢谢hopewell。</p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/40222e7bccccf80729388a88.html">阅读全文</a>
<br/><b>类别:</b><a href="http://hi.baidu.com/crack%5Fman/blog/category/%B8%FAcrackman%B6%C1sas%B3%CC%D0%F2">跟crackman读sas程序</a> <a href="http://hi.baidu.com/crack%5Fman/blog/item/40222e7bccccf80729388a88.html#comment">查看评论</a>
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2