Duplicata possible :
Pourquoi ne puis-je pas retourner un double à partir de deux entiers divisés ?
Mon programme C++ tronque la sortie de ma division entière même lorsque j'essaie de placer la sortie dans un float. Comment puis-je éviter cela tout en gardant les deux variables (a & b) en tant qu'entiers ?
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