Следующий фрагмент выводит 0,29847, хотя я ожидал 0,29848:
double f = 0.298475;
cout << setprecision(5) << f << endl;
Однако для других примеров я наблюдаю округление:
double f = 0.123459;
cout << setprecision(5) << f << endl;
выводит: 0,12346
и
double f = 0.123454;
cout << setprecision(5) << f << endl;
выводит: 0.12345