Можно создать дубликат:
Why can't I return a double from two ints being dividedРазделив два целых числа для получения результата с плавающей точкой
Моя программа C++ является усечение выход моего целого DeVision даже когда я пытаюсь и поместить вывод в плавать. Как я могу предотвратить это, сохраняя эти переменные (a & b) целыми числами?
[email protected]:~/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;
}
[email protected]:~/c/precision$ g++ -o precision precision.cpp
[email protected]:~/c/precision$ ./precision
3
3.000
поплавка ANS = ((поплавок) а/б); (или static_cast, чтобы порадовать пуристов) – Vlad
Да, моя ошибка, у меня был обыск, но я не нашел этого сообщения. Это дуп, мой плохой! – jwbensley