Вопрос

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