Деление двух целых чисел для получения результата с плавающей точкой

Возможный дубликат:
Почему я не могу вернуть дабл из двух разделяемых целых

Моя программа на C ++ усекает вывод моего целочисленного значения, даже когда я пытаюсь поместить вывод в число с плавающей точкой. Как я могу предотвратить это, сохраняя эти переменные ( & б) как целые числа?

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

45

Решение

Приведите операнды к поплавкам:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]