◐ Shell
clean mode source ↗

std::num_put — cppreference.com

Материал из cppreference.com

<metanoindex/>

<tbody> </tbody>

Определено в заголовочном файле <locale>

template< class CharT, class OutputIt = std::ostreambuf_iterator<CharT> > class num_put;

Класс std::num_put инкапсулирует правила для форматирования значений типа bool, long, unsigned long, long long, unsigned long long, double, long double, void*, и всех типов неявно преобразовываться в них (такие, как int или float), а строки. Стандартный формат выходного операторов (таких как cout << n;) используют std::num_put аспект языка ввода / вывода потока для создания текстового представления чисел.

Оригинал:

Class std::num_put encapsulates the rules for formatting values of type bool, long, unsigned long, long long, unsigned long long, double, long double, void*, and of all types implicitly convertible to these (such as int or float), as strings. The standard formatting output operators (such as cout << n;) use the std::num_put facet of the I/O stream's locale to generate text representation of numbers.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

cpp/locale/locale/facet

Диаграмма наследования

Тип требованиям

Специализации

Две специализации и два частичных специализаций предусмотрены стандартные библиотеки и осуществляются все локали объекты, созданные в C + + программ

Оригинал:

Two specializations and two partial specializations are provided by the standard library and are implemented by all locale objects created in a C++ program:

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Определены в заголовочном файле <locale>

std::num_put<char>

создает узкое представление последовательность цифр

Оригинал:

creates narrow string representations of numbers

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::num_put<wchar_t>

создает широкие строковые представления чисел

Оригинал:

creates wide string representations of numbers

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::num_put<char, OutputIt>

создает узкое представление строки цифр с использованием пользовательского итератора вывода

Оригинал:

creates narrow string representations of numbers using custom output iterator

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

std::num_put<wchar_t, OutputIt>

создает широкие строковые представления чисел с использованием пользовательского итератора вывода

Оригинал:

creates wide string representations of numbers using custom output iterator

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Типы-члены

Тип члена Определение
char_type CharT
iter_type OutputIt

Функции-члены

строит новую грань num_put

Оригинал:

constructs a new num_put facet

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(public функция-элемент)

разрушает num_put грань

Оригинал:

destructs a num_put facet

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(protected функция-элемент)

Вызывает do_put

Оригинал:

invokes do_put

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(public функция-элемент)

Охраняемые функций-членов

Форматы номер и записывает в выходной поток

Оригинал:

formats a number and writes to output stream

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(virtual protected функция-элемент)

Член объектов

static std::locale::id id

' Идентификатор локали

Оригинал:

id of the locale

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(публичный объект-член)

Пример

#include <iostream>
#include <locale>
#include <string>
#include <iterator>

int main()
{
    double n = 1234567.89;
    std::cout.imbue(std::locale("de_DE"));
    std::cout << "Direct conversion to string:\n"
              << std::to_string(n) << '\n'
              << "Output using a german locale:\n"
              << std::fixed << n << '\n'
              << "Output using an american locale:\n";
    // use the facet directly
    std::cout.imbue(std::locale("en_US.UTF-8"));
    auto& f = std::use_facet<std::num_put<char>>(std::cout.getloc());
    f.put(std::ostreambuf_iterator<char>(std::cout), std::cout, ' ', n);
    std::cout << '\n';
}

Вывод:

Direct conversion to string:
1234567.890000
Output using a german locale:
1.234.567,890000
Output using an american locale:
1,234,567.890000

См. также

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