Code Fix

初級int同士の割り算で小数点以下が消えるバグ › パターン3

int同士の割り算で小数点以下が消えるバグ

int型同士の割り算は小数点以下を切り捨てたint型の結果になるバグです。

 1  #include <iostream>
 2  #include <iomanip>
 3  int main() {
 4      int price = 999;
 5      int people = 4;
 6      double share = price _______ people;
                                ^
 7      std::cout << std::fixed << std::setprecision(2) << share << std::endl;
 8      return 0;
 9  }
出力: 249.00期待: 249.75

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

int同士の割り算で小数点以下が消えるバグ

その結果をdouble型に代入しても、切り捨てはすでに終わったあとなので元には戻りません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)