我正在尝试比较两个坐标。我发现我的循环永远不会因为这个而停止:
exit = ((p.x * sign_x) >= end_pos.x) && ((p.y * sign_y) >= end_pos.y);
cout<< p.x * sign_x << " >= " << end_pos.x
<< "=" << std::boolalpha << ((p.x * sign_x) >= end_pos.x)
<< " "
<< p.y * sign_y << " >= "<< end_pos.y
<< "=" << std::boolalpha << ((p.y * sign_y) >= end_pos.y)<<endl;
变量永远exit
不会变成。true
在控制台中我看到:
9435.6 >= 132.6=true 180 >= 180=false
怎么可能?
所有变量都是float
。数值写在上面。as 值的变量180
永远不会改变。