doubleを用いて演算を行う場合の注意点

watanabe 134views 更新:2014年9月16日
int x = 5;
int y = 100;
double z = (double) (x / y);

上記のようにdoubleを用いて演算を行う場合、intでx/yを演算し 小数部が切り捨てられた値をdoubleにキャストするため、 小数部を切り捨てずに演算することが出来ない。

小数部を切り捨てずに演算する場合、すなわちdoubleにキャストされた状態で 演算を行う場合には予めint型の値をdoubleにキャストしてから演算を行う。

演算で用いる両方の数値をdoubleにキャストする必要はなく、 片方の数値のみでもdoubleにキャストされていれば演算時に算術変換によって もう片方の数値もdoubleにキャストされる。

上記の例であれば

int x = 5;
int y = 100;
double z = (double) x / y;

として、xのみをdoubleにキャストするだけで小数部が切り捨てられていない結果を得られる。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません