Code Fix

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

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

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

 1  #include <iostream>
 2  #include <iomanip>
 3  int main() {
 4      int wins = 3;
 5      int games = 8;
 6      double rate = wins _______ games;
                              ^
 7      std::cout << std::fixed << std::setprecision(2) << rate << std::endl;
 8      return 0;
 9  }
出力: 0.00期待: 0.38

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

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

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

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

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

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