狂ったお茶会のlog

後で起きる自分のためのメモ

計算をするときに注意すること

はじめに

初歩的な話なんだが、やってしまったので書いておく。

やらかしたこと

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 とかにしとけば小数点が許容される。

以上