1. ホーム
  2. c++

[解決済み] 2つの整数を割ってfloatを生成する [重複]...

2023-06-14 12:41:48

質問

重複の可能性があります。

なぜ2つのintを分割してdoubleを返せないのですか?

私のC++プログラムは、整数の除算の出力をfloatに配置しようとしても切り捨てられます。変数 (a & b) を整数として維持しながら、どのようにしてこれを防ぐことができますか?

user@box:~/c/precision$ cat precision.cpp
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
  int a = 10, b = 3;
  float ans = (a/b);
  cout<<fixed<<setprecision(3);
  cout << (a/b) << endl;
  cout << ans << endl;
  return 0;
}

user@box:~/c/precision$ g++ -o precision precision.cpp 
user@box:~/c/precision$ ./precision 
3
3.000

どのように解決するのですか?

オペランドをfloatにキャストしてください。

float ans = (float)a / (float)b;