我有一个非常奇怪的错误,我无法弄清楚。浮点数比较不匹配
float distance = Utils.distance(this.spriteStartX, this.spriteStartY, this.getX(), this.getY());
Utils.log("D_Check: "+distance+" >= "+this.spriteDistance);
if(distance >= this.spriteDistance);
{
Utils.log(distance+" is greater than "+this.spriteDistance);
}
在这段代码中,我确定了我的精灵起源和它的当前位置之间的距离。 (为了简单起见,这是8.034246f)。 this.spriteDistance是7000.0f。
在调试器中我收到:
D_Check: 8.034246 >= 7000.0
8.034246 is greater than 7000.0
显然东西是非常不对的。我错过了一件非常简单的事情吗?
spriteDistance的数据类型是什么? – 2011-03-22 09:17:54
spriteDistance是一个浮点数。 – Knossos 2011-03-22 09:20:56