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

std::fixed, std::scientific, std::hexfloat, std::defaultfloat

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

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print (C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
Манипуляторы ввода/вывода
Форматирование чисел с плавающей точкой
fixedscientifichexfloatdefaultfloat
(C++11)(C++11)
Целочисленное форматирование
Булево форматирование
Контроль ширины поля и заполнения
Другое форматирование
Обработка пробелов
Сброс вывода
Манипуляции с флагами состояния
Ввод/вывод времени и денежных едениц
(C++11)
(C++11)
(C++11)
(C++11)
Манипулятор заключения в кавычки
(C++14)
 
Определено в заголовочном файле <ios>
(1)
std::ios_base& scientific( std::ios_base& str );
(2)
std::ios_base& hexfloat( std::ios_base& str );
(3) (начиная с C++11)
std::ios_base& defaultfloat( std::ios_base& str );
(4) (начиная с C++11)
Изменяет форматирования по умолчанию для операций с плавающей точкой I / O
Оригинал:
Modifies the default formatting for floating-point I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
устанавливает floatfield потока str в fixed как при вызове str.setf(std::ios_base::fixed, std::ios_base::floatfield)
Оригинал:
sets the floatfield of the stream str to fixed as if by calling str.setf(std::ios_base::fixed, std::ios_base::floatfield)
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
устанавливает floatfield потока str в scientific как при вызове str.setf(std::ios_base::scientific, std::ios_base::floatfield)
Оригинал:
sets the floatfield of the stream str to scientific as if by calling str.setf(std::ios_base::scientific, std::ios_base::floatfield)
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
устанавливает basefield потока str в fixed и scientific одновременно как при вызове str.setf(std::ios_base::fixed | std::ios_base::scientific, std::ios_base::floatfield). Это позволяет шестнадцатеричную с плавающей точкой форматирования.
Оригинал:
sets the basefield of the stream str to fixed and scientific simultaneously as if by calling str.setf(std::ios_base::fixed | std::ios_base::scientific, std::ios_base::floatfield). This enables hexadecimal floating-point formatting.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
устанавливает basefield потока str к нулю, как при вызове str.unsetf(std::ios_base::floatfield). Это позволяет по умолчанию с плавающей точкой форматирование, которое отличается от фиксированных и научной.
Оригинал:
sets the basefield of the stream str to zero, as if by calling str.unsetf(std::ios_base::floatfield). This enables the default floating-point formatting, which is different from fixed and scientific.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Это I / O манипулятора, его можно назвать с выражением таких как out << std::fixed для любого типа out std::basic_ostream или выражения, такие как in >> std::scientific для любого типа in std::basic_istream.
Оригинал:
This is an I/O manipulator, it may be called with an expression such as out << std::fixed for any out of type std::basic_ostream or with an expression such as in >> std::scientific for any in of type std::basic_istream.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

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

str
ссылка на поток ввода / вывода
Оригинал:
reference to I/O stream
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

str (ссылка на поток после манипуляций)
Оригинал:
str (reference to the stream after manipulation)
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

#include <iostream>
#include <sstream>
int main()
{
    std::cout << "The number 0.01 in fixed:      " << std::fixed << 0.01 << '\n'
              << "The number 0.01 in scientific: " << std::scientific << 0.01 << '\n'
              << "The number 0.01 in hexfloat:   " << std::hexfloat << 0.01 << '\n'
              << "The number 0.01 in default:    " << std::defaultfloat << 0.01 << '\n';
    double f;
    std::istringstream("0x1P-1022") >> std::hexfloat >> f;
    std::cout << "Parsing 0x1P-1022 as hex gives " << f << '\n';
}

Вывод:

The number 0.01 in fixed:      0.010000
The number 0.01 in scientific: 1.000000e-02
The number 0.01 in hexfloat:   0x1.47ae147ae147bp-7
The number 0.01 in default:    0.01
Parsing 0x1P-1022 as hex gives 2.22507e-308

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

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