nonway 发表于 2006-11-2 16:37:09

winruner运行简单运算时一个奇怪的事情

运算:
t=10*1.017;
report_msg(1==1);
report_msg(t);
report_msg(t==10.17);


winrunner执行后结果:
1
10.17
0



也就是说t竟然是不等于10.17;大家有没有遇到过这种情况

[ 本帖最后由 nonway 于 2006-11-2 16:38 编辑 ]

gp_jl 发表于 2006-11-2 19:52:41

我也遇到过这样的情况,使用 == 判断时:
1。如果两边比较的值是直接赋值过来的话(如,x=1.2,y=1.20时),if(x==y)可以正确执行;
2。如果是通过表达式(如,x=3*0.4,y=1.2时),if(x==y)就不能正确执行。
   可能就是在进行表达式运算时,浮点控制有问题。
但是,具体原因还是不清楚。关注下。。。
页: [1]
查看完整版本: winruner运行简单运算时一个奇怪的事情