I'm trying to output a really simple value, but what I obtain is really weird:

Log.d("try", "distanceWithMaxSpeed > " + ((90 * (1000 / 3600)) * ((3000 - 2000)/1000)) );

I get 0 instead of 25! Where am I wrong?

有帮助吗?

解决方案

Integer Division

1000/3600 = 0

You should change them to floats (90f) or doubles (90.0)

其他提示

You're doing integer division. If the numerator is less than the divisor, then at least one of the operands should be a double:

Log.d("try", "distanceWithMaxSpeed > " + ((90 * (1000.0 / 3600)) * ((3000 - 2000)/1000)) );
                                                     ^^
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top