سؤال

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