Как преобразование из double в int работает в Java?

Для следующего кода (Java):

double d = (double) m / n; //m and n are integers, n>0
int i = (int) (d * n);

i == m

Всегда ли последнее выражение истинно? Если это не так, всегда ли это правда?:

i = (int) Math.round(d * n);

i == m
5
задан Paŭlo Ebermann 15 August 2011 в 02:20
поделиться