https://blog.jnito.com/entry/20110910/1315605311

ここを見て解決した気になってましたが、float型やdouble型にint同士の計算を入れているからダメだったんですね。

計算した結果が少数ならfloatかdoubleにいれれば良いと思っていました。

勉強になりました、ありがとうございます。