Dzielenie dwóch liczb całkowitych w celu uzyskania wyniku zmiennego [duplikat]

Możliwy duplikat:
Dlaczego nie mogę zwrócić podwójnej z dwóch podzielonych intów

Mój program w C ++ obcina wyjście mojej zmiany liczby całkowitej, nawet gdy próbuję umieścić wynik w float. Jak mogę temu zapobiec, zachowując te zmienne (a & b) jako liczby całkowite?

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

questionAnswers(1)

yourAnswerToTheQuestion