cout. precision(3);
cout <<20.1 << “\n”; //выводит 20.100
cout << cout. precision()<< “\n”; // выводит 3 в качестве текущего значения
double fX=355.678;
cout. flags(ios::fixed);
cout. precision(1);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =355.7 (precision is 1)
cout. precision(3);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =355.678 (precision is 3)
cout. precision(5);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =355.67800 (precision is 5)
cout. flags(ios::scientific);
cout. precision(1);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =3.6e+002 (precision is 1)
cout. precision(3);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =3.557e+002 (precision is 3)
cout. precision(5);
cout << “Number = “ << fX << “(precision is “ << cout. precision() << “)\n”;
//выводит Number =3.55678e+002 (precision is 5)
Чтобы не прерывать цепочку вывода, можно использовать функции-члены, непосредственно воздействующие на потоковый вывод (манипуляторы с операцией <<). Манипуляторы есть с параметрами и без параметров.
|
манипулятор |
назначение |
|
setw(int nWidth=0) |
устанавливает минимальную ширину следующего поля (0 – по умолчанию) |
|
setbase (int nBase=10) |
устанавливает основание системы счисления (10 – по умолчанию) |
|
setfill (char cFill=’ ‘) |
устанавливает символ-заполнитель (пробел– по умолчанию) |
|
setprecision (int nPrec=6) |
устанавливает точность (6– по умолчанию) |
|
setiosflags (long lFlags) |
устанавливает флаги формата потока |
|
resetiosflags (long lFlags) |
сбрасывает флаги формата потока |
|
манипулятор |
назначение |
|
binary |
устанавливает двоичный режим потокового ввода/вывода |
|
text |
устанавливает текстовый режим потокового ввода/вывода |
|
dec |
форматирует целые числа как десятичные |
|
hex |
форматирует целые числа как шестнадцатеричные |
|
oct |
форматирует целые числа как восьмеричные |
|
ws |
экстрактор пробельных символов |
|
endl |
переход на новую строку |
|
ends |
завершение строки нулевым символом |
|
flush |
закрывает буферы потока ввода/вывода |
Примеры:
cout << oct <<setiosflags(ios::showbase) <<9 << endl; // выводит 011
cout << setiosflags(ios::fixed) <<setprecision(2) <<12.12345 << endl; // выводит 12.12
cout << dec <<setw(7) << setfill(‘0’)
<< 125 << endl; // выводит 0125
int Num=125;
double fX=355.678;
cout << “integer is “ << hex //шестнадцатеричный формат << setiosflags(ios::uppercase) //верхний регистр << resetiosflags(ios:: showbase) //не показывать основание с/с
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.