Namespaces
Variants

std::ios_base:: precision

From cppreference.net
streamsize precision ( ) const ;
(1)
streamsize precision ( streamsize new_precision ) ;
(2)

Управляет точностью (т.е. количеством генерируемых цифр) вывода чисел с плавающей точкой, выполняемого std::num_put::do_put .

1) Возвращает текущую точность.
2) Устанавливает точность на заданную. Возвращает предыдущее значение точности.

Точность по умолчанию, установленная с помощью std::basic_ios::init , равна 6.

Содержание

Параметры

new_precision - новая настройка точности

Возвращаемое значение

Точность до вызова функции

Пример

#include <iostream>
int main()
{
    const double d = 12.345678901234;
    std::cout << "The  default precision is " << std::cout.precision() << "\n\n";
    std::cout << "With default precision d is " << d << '\n';
    std::cout.precision(8);
    std::cout << "With high    precision d is " << d << '\n';
}

Вывод:

The  default precision is 6
With default precision d is 12.3457
With high    precision d is 12.345679

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 189 C++98 'precision' was defined as 'the number of digits after
the decimal point', but it is not correct in some cases
исправлено

Смотрите также

управляет шириной поля
(публичная функция-член)
изменяет точность чисел с плавающей запятой
(функция)