Вывод вещественных величин также управляется с помощью функций, работающих с состоянием потока. В частности, обращения:
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, предлагают более элегантный способ задания формата вывода вещественных.
on_load_lecture()
« |
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
вопросы | »
учебники
|
для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |