A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../error/error_code/../../locale/num_put.html below:

std::num_put - cppreference.com

Class std::num_put encapsulates the rules for formatting numeric values as strings. Specifically, the types bool, long, unsigned long, long long, unsigned long long(since C++11), double, long double, void*, and of all types implicitly convertible to these (such as int or float) are supported. 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.

Inheritance diagram

If a std::num_put specialization is not guaranteed to be provided by the standard library (see below), the behaviors of its put() and do_put() are not guaranteed as specified.

[edit] Specializations

The standard library is guaranteed to provide the following specializations (they are required to be implemented by any locale object):

std::num_put<char> creates narrow string representations of numbers std::num_put<wchar_t> creates wide string representations of numbers

In addition, the standard library is also guaranteed to provide every specialization that satisfies the following type requirements:

[edit] Nested types Type Definition char_type CharT iter_type OutputIt [edit] Data members [edit] Member functions constructs a new num_put facet
(public member function) invokes do_put
(public member function) [edit] Protected member functions destructs a num_put facet
(protected member function) formats a number and writes to output stream
(virtual protected member function) [edit] Example

Possible output:

Direct conversion to string:
1234567.890000
Output using a german locale:
1.234.567,890000
Output using an american locale:
1,234,567.890000
[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior LWG 427 C++98 num_put was guaranteed to accept any CharT that
meets the requirements for a character on which
any of the iostream components can be instantiated only guarantees to accept char,
wchar_t and other implementation-
defined character types LWG 2392 C++98 only character type CharT could be
guaranteed to be accepted by num_put can guarantee to accept implementation-
defined character container types [edit] See also defines numeric punctuation rules
(class template) [edit] parses numeric values from an input character sequence
(class template) [edit] converts an integral or floating-point value to string
(function) [edit] converts an integral or floating-point value to wstring
(function) [edit]

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4