浮动比较不匹配

时间:2011-03-22 09:14:49

标签: java android

我有一个非常奇怪的错误,我无法弄清楚。

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

显然这是非常错误的。我错过了一些非常简单的东西吗?

2 个答案:

答案 0 :(得分:6)

在if语句后删除分号。

if (distance >= this.spriteDistance)
{
    Utils.log(distance+" is greater than "+this.spriteDistance);
}

答案 1 :(得分:5)

删除if语句末尾的分号。