data b;
set a;
do i=0 to 1.5 by 0.1;
if b>i then do;
d=0;
end;
else do;d=1;output;leave;end;
put a b i d;
output;
end;
run;
希望版上高手帮我解析一下问题出在哪里。
我相信各位肯定会想出比这个简单的方法来可以实现相同目的,非常乐意学习,不过我还是想了解一下自己这段程序为什么出错了。。。
先谢谢啦作者: shiyiming 时间: 2010-11-20 00:52 标题: Re: 求教一段sas程序的问题 笑翻了,比猪头还糊涂,从0到1.1,步长0.1,是一共重复11次吗?
至于浮点数比较的问题,坛子里的各位大师回答过好几次,原因见
<!-- m --><a class="postlink" href="http://www.nesug.org/Proceedings/nesug08/ff/ff07.pdf">http://www.nesug.org/Proceedings/nesug08/ff/ff07.pdf</a><!-- m -->
你的程序已经写得够好啦,猪头试了下连十行都省不下来。
[code:2re0sk5h]
data b;
set a;
do i=0 by 0.1 until (d);
d = (round(i,.1) >= round(b,.1));
output;
end;
run;
[/code:2re0sk5h]作者: shiyiming 时间: 2010-11-20 09:47 标题: Re: 求教一段sas程序的问题 有赠品? 好好研究下 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->作者: shiyiming 时间: 2010-11-20 14:20 标题: Re: 求教一段sas程序的问题 to 死猪头
3ks
原来如此啊~~
你的程序写的简单多了,决定用你的~
另外,更正一下,0到1.1,步长.1,是重复12次, 哈哈。