Округляется ли setprecision в C++? Если да, то почему я это вижу?

Следующий фрагмент выводит 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

10
задан Palace Chan 6 June 2012 в 21:11
поделиться