precision()

#include <iostream>
streamsize precision() const;
streamsize precision(streamsize p);

Описание

Возвращает или устанавливает текущее значение точности

Функция является членом класса ios

По умолчанию при выводе значений с плавающей точкой отображаются шесть цифр точности(после десятичной точки). Однако, используя вторую форму записи функции precision(), можно установить количество этих цифр равным значению, заданному параметром р. Функция возвращает исходное значение точности.

Первая версия функции precision() возвращает текущее значение точности.


Совет программисту

Существует две разновидности манипуляторов: без параметров и с параметрами. Поскольку создание параметризованных манипуляторов выходит за рамки этой книги, следует отметить, что создание собственных манипуляторов, не имеющих параметров, — задача совсем несложная.

Все не имеющие параметров манипуляторы вывода имеют следующую структуру.

Копировать
ostream &manip-name(ostream &stream)
{
	// Текст программы,
	return stream;
}

Здесь manip-name — имя манипулятора. Обратите внимание, что манипулятор возвращает ссылку на поток типа ostream. Это необходимо в случае, если манипулятор должен использоваться как часть большого выражения ввода-вывода. Важно понимать, что, хотя манипулятор использует в качестве своего единственного параметра ссылку на поток, с которым он работает, при вставке манипулятора в операцию вывода аргументы у него отсутствуют.

Все не имеющие параметров манипуляторы ввода имеют следующую структуру.

Копировать
istream &manip-name(istream &stream)
{
	// Текст программы.
	return stream;
}

Манипулятор ввода получает ссылку на поток, для которого он был вызван. Этот манипулятор должен вернутьссылку на "свой" поток.

Вот пример простого манипулятора вывода с именем setup(). Он устанавливает выравнивание по левому краю, делает ширину поля равной значению 10 и задает в качестве символа заполнителя знак доллара.

Копировать
#include <iostream>
#include <iomanip> using namespace std; ostream &setup(ostream &stream) { stream.setf(ios::left) ; stream << setw(10) << setfill('$'); return stream; } int main () { cout << 10 << " " << setup << 10; return 0; }

Помните: ваш манипулятор должен возвращать поток stream. В противном случае его нельзя использовать в ряде операций ввода и вывода.



whirlpool awe 6514 1
onwhirlpool.ru