10.4.1.6 Вывод плавающих чисел.

   


Назад  |  Вперёд

Вывод вещественных величин также управляется с помощью функций, работающих с состоянием потока. В частности, обращения:

           cout.setf(ios::scientific,ios::floatfield);
           cout.setf(ios::fixed,ios::floatfield);
           cout.setf(0,ios::floatfield);   // вернуться к стандартному

установят вид печати вещественных чисел без изменения других компонентов состояния потока. Например:

           cout << 1234.56789 << '\n';

           cout.setf(ios::scientific,ios::floatfield);
           cout << 1234.56789 << '\n';

           cout.setf(ios::fixed,ios::floatfield);
           cout << 1234.56789 << '\n';

напечатает

           1234.57
           1.234568e+03
           1234.567890

Печатается n цифр, как задается в обращении

           cout.precision(n)

По умолчанию n равно 6. Вызов функции precision влияет на все операции ввода-вывода с вещественными до следующего обращения к precision, поэтому

           cout.precision(8);
           cout << 1234.56789 << '\n';
           cout << 1234.56789 << '\n';

           cout.precision(4);
           cout << 1234.56789 << '\n';
           cout << 1234.56789 << '\n';

выдаст

           1234.5679
           1234.5679
           1235
           1235

Заметьте, что происходит округление, а не отбрасывание дробной части.

Стандартные манипуляторы, введенные в $$10.4.2.1, предлагают более элегантный способ задания формата вывода вещественных.


Назад  |  Вперёд


OtDiatlovaOU
К началу книги

Оформление и дизайн книги OtDiatlovaOU.
Вся книга, архив.