Bertuz
Bertuz

Reputation: 2566

java result really different from the expected one

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?

Upvotes: 1

Views: 62

Answers (2)

Reimeus
Reimeus

Reputation: 159754

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)) );
                                                     ^^

Upvotes: 3

FDinoff
FDinoff

Reputation: 31429

Integer Division

1000/3600 = 0

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

Upvotes: 3

Related Questions