O setprecision em c ++ round? Então porque estou vendo isso?
O snippet a seguir produz 0,29847 quando eu esperava 0,29848:
double f = 0.298475;
cout << setprecision(5) << f << endl;
Para outros exemplos, no entanto, observo arredondamento:
double f = 0.123459;
cout << setprecision(5) << f << endl;
Saídas: 0.12346
e
double f = 0.123454;
cout << setprecision(5) << f << endl;
Saídas: 0.12345