Question

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?

Was it helpful?

Solution

Integer Division

1000/3600 = 0

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

OTHER TIPS

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)) );
                                                     ^^
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top