E' lo stesso problema.
I vari tipi integer NON hanno cifre decimali, quindi quando assegni il valore di un double a un intero perdi le cifre decimali (a meno che non arrotondi al valore intero piu' vicino, per esempio 1.9 diventera' un 2).
Uno dei tanti motivi per cui e' sempre consigliato di usare sempre variabili double per fare operazioni matematiche, e arrotondare solo alla fine nel caso ci sia bisogno. Vale anche per numeri che sappiamo essere solo interi in quanto le operazioni su interi possono causare overflow molto prima di quelli double.
I vari tipi integer NON hanno cifre decimali, quindi quando assegni il valore di un double a un intero perdi le cifre decimali (a meno che non arrotondi al valore intero piu' vicino, per esempio 1.9 diventera' un 2).
Uno dei tanti motivi per cui e' sempre consigliato di usare sempre variabili double per fare operazioni matematiche, e arrotondare solo alla fine nel caso ci sia bisogno. Vale anche per numeri che sappiamo essere solo interi in quanto le operazioni su interi possono causare overflow molto prima di quelli double.