std::num_put
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Диаграмма наследования
Тип требованиям
-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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (публичный объект-член) |
Пример
Запустить этот код
#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
См. также
| определяет правила пунктуации чисел (шаблон класса) | |
| разбирает числовое значение из входной последовательности символов (шаблон класса) | |
(C++11) |
преобразует целое значение или значение с плавающей запятой в string (функция) |
(C++11) |
преобразует целое значение или значение с плавающей запятой в wstring (функция) |