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

std::num_put

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

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
std::num_put
Член функций
Оригинал:
Member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
num_put::num_put
num_put::~num_put
num_put::put
num_put::do_put
 
Определено в заголовочном файле <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/facetstd-num put-inheritance.svg
Описание изображения

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

Содержание

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

-
OutputIt должен соответствовать требованиям OutputIterator.

[править] Специализации

Две специализации и два частичных специализаций предусмотрены стандартные библиотеки и осуществляются все локали объекты, созданные в 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 функция-член)

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

[virtual]
Форматы номер и записывает в выходной поток
Оригинал:
formats a number and writes to output stream
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член)

[править] Член объектов

static std::locale::id id
' Идентификатор локали
Оригинал:
id of the locale
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public объект-член)

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

#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

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

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

(шаблон класса) [edit]
parses numeric values from an input character sequence
(шаблон класса) [edit]
(C++11)
преобразует целое число или число с плавающей точкой в string
(функция) [edit]
преобразует целое число или число с плавающей точкой в wstring
(функция) [edit]