Программирование. Принципы и практика использования C++ Исправленное издание, стр. 156
{ b.setf(ios_base::fmtflags(0), ios_base::floatfield); return b;}Теперь можем написать следующий код:
cout << 1234.56789 << '\t' << fixed << 1234.56789 << '\t' << scientific << 1234.56789 << '\n';cout << 1234.56789 << '\n'; // действует формат // с плавающей точкойcout << general << 1234.56789 << '\t' // предупреждение: << fixed << 1234.56789 << '\t' // general — нестандартный // манипулятор << scientific << 1234.56789 << '\n';В итоге получим следующие числа:
1234.57 1234.567890 1.234568e+0031.234568e+003 // манипулятор научного формата является // персистентным1234.57 1234.567890 1.234568e+003Итак, существует несколько манипуляторов для работы с числами с плавающей точкой.

11.2.4. Точность
По умолчанию число с плавающей точкой выводится на печать с помощью шести цифр в формате
general1234.5671234.571.23456781.23457Округление, как правило, выполняется по правилу 4/5: от 0 до 4 — округление вниз, а от 5 до 9 — вверх. Обратите внимание на то, что такое форматирование относится только к числам с плавающей точкой.
123456712345671234567.01.23457e+006В последнем случае поток
ostream1234567.0fixedscientificgeneralscientificfixedПОПРОБУЙТЕ
Напишите программу, три раза выводящую на печать число
1234567.89generalfixedscientificПрограммист может установить точность представления числа, используя манипулятор
setprecision()cout << 1234.56789 << '\t' << fixed << 1234.56789 << '\t' << scientific << 1234.56789 << '\n';cout << general << setprecision(5) << 1234.56789 << '\t' << fixed << 1234.56789 << '\t' << scientific << 1234.56789 << '\n';cout << general << setprecision(8) << 1234.56789 << '\t' << fixed << 1234.56789 << '\t' << scientific << 1234.56789 << '\n';Этот код выводит на печать следующие числа (обратите внимание на округление):
1234.57 1234.567890 1.234568e+0031234.6 1234.56789 1.23457e+0031234.5679 1234.56789000 1.23456789e+003Точность определятся по правилам, приведенным ниже.

Мы рекомендуем использовать формат, принятый по умолчанию (формат
general11.2.5. Поля
С помощью научного и фиксированного формата программист может точно контролировать, сколько места займет число на выходе. Это очень полезно при распечатке таблиц и т.п. Эквивалентный механизм для целых чисел называют полями (fields). Вы можете точно указать ширину поля, используя манипулятор
setw()cout << 123456 // поля не используются <<'|'<< setw(4) << 123456 << '|' // число 123456 // не помещается в поле << setw(8) << 123456 << '|' // из 4 символов,