計算をするときに注意すること
はじめに
初歩的な話なんだが、やってしまったので書いておく。
やらかしたこと
int count = 200; int value = 10; int point = count * (value / 100);
value を百分率にして count にかけたものを最終的な point として扱うということをしたかった。
のだが、 int は小数点以下を切り捨てて扱うため、 (value / 100)
を先に計算しちゃうと、0.1なので0になる。
0を乗算しても0なので、 point は0となる。
やるべきだったこと
int count = 200; int value = 10; int point = (count * value) / 100;
計算の順番を変えて、最後に除算をする。
これだと point は20となる。
もしくは、型を int じゃなくて float とかにしとけば小数点が許容される。
以上