Пространства имён
Варианты
Действия

std::setprecision

Материал из cppreference.com
< cpp‎ | io‎ | manip

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print(C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
Манипуляторы ввода/вывода
Форматирование чисел с плавающей точкой
Целочисленное форматирование
Булево форматирование
Контроль ширины поля и заполнения
Другое форматирование
Обработка пробелов
Сброс вывода
Манипуляции с флагами состояния
Ввод/вывод времени и денежных едениц
(C++11)
(C++11)
(C++11)
(C++11)
Манипулятор заключения в кавычки
(C++14)
 
Определено в заголовочном файле <iomanip>
/*unspecified*/ setprecision(int n );
При использовании в выражении out << setprecision(n) или in >> setprecision(n), устанавливает precision параметров потока out или in точно n.
Оригинал:
When used in an expression out << setprecision(n) or in >> setprecision(n), sets the precision parameter of the stream out or in to exactly n.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править]Параметры

n
Новое значение для точности
Оригинал:
new value for precision
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править]Возвращаемое значение

Возвращает объект неопределенного типа такой, что если str это имя выходного потока типа std::basic_ostream<CharT, Traits> или входного потока типа std::basic_istream<CharT, Traits>, то выражение str << setprecision(n) или str >> setprecision(n) ведет себя как будто следующий код был казнен
Оригинал:
Returns an object of unspecified type such that if str is the name of an output stream of type std::basic_ostream<CharT, Traits> or an input stream of type std::basic_istream<CharT, Traits>, then the expression str << setprecision(n) or str >> setprecision(n) behaves as if the following code was executed:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

str.precision(n);

[править]Пример

#include <iostream>#include <iomanip>#include <cmath>#include <limits>int main(){constlongdouble pi =std::acos(-1.L);std::cout<<"default precision (6): "<< pi <<'\n'<<"std::precision(10): "<< std::setprecision(10)<< pi <<'\n'<<"max precision: "<< std::setprecision(std::numeric_limits<longdouble>::digits10)<< pi <<'\n';}

Вывод:

default precision (6): 3.14159 std::precision(10): 3.141592654 max precision: 3.14159265358979324


[править]См. также

изменяет форматирование, используемое для ввода/вывода чисел с плавающей запятой
(функция)[править]
close