Code Fix

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

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

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

 1  #include <iostream>
 2  #include <iomanip>
 3  int main() {
 4      int minutes = 100;
 5      double hours = minutes _______ 60;
                                  ^
 6      std::cout << std::fixed << std::setprecision(2) << hours << std::endl;
 7      return 0;
 8  }
出力: 1.00期待: 1.67

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

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

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

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

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

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