std::moneypunct
From cppreference.com
Defined in header <locale>
|
||
template< class charT, bool International = false > class moneypunct : public std::locale::facet, public std::money_base; |
||
The facet std::moneypunct encapsulates monetary value format preferences. Stream I/O manipulators std::get_money and std::put_money use std::moneypunct through std::money_get and std::money_put for parsing monetary value input and formatting monetary value output.
Four specializations are provided by the standard library
Defined in header <locale>
| |
std::moneypunct<char> | provides equivalents of the "C" locale preferences |
std::moneypunct<wchar_t> | provides wide character equivalents of the "C" locale preferences |
std::moneypunct<char, true> | provides equivalents of the "C" locale preferences, with international currency symbols |
std::moneypunct<wchar_t, true> | provides wide character equivalents of the "C" locale preferences, with international currency symbols |
Contents |
[edit] Member types
Member type | Definition |
char_type | charT |
string_type | std::basic_string<charT> |
[edit] Member constants
Member | Definition |
const bool intl (static) | International |
[edit] Member objects
Member | Type |
id (static) | std::locale::id |
[edit] Member functions
constructs a new moneypunct facet (public member function) | |
destructs a moneypunct facet (protected member function) | |
| |
invokes do_decimal_point (public member function) | |
invokes do_thousands_sep (public member function) | |
invokes do_grouping (public member function) | |
invokes do_curr_symbol (public member function) | |
invokes do_positive_sign (public member function) | |
invokes do_negative_sign (public member function) | |
invokes do_frac_digits (public member function) | |
invokes do_pos_format (public member function) | |
invokes do_neg_format (public member function) |
[edit] Protected member functions
[virtual] |
provides the character to use as decimal point (virtual protected member function) |
[virtual] |
provides the character to use as thousands separator (virtual protected member function) |
[virtual] |
provides the numbers of digits between each pair of thousands separators (virtual protected member function) |
[virtual] |
provides the string to use as the currency identifier (virtual protected member function) |
[virtual] |
provides the string to indicate a positive value (virtual protected member function) |
[virtual] |
provides the string to indicate a negative value (virtual protected member function) |
[virtual] |
provides the number of digits to display after the decimal point (virtual protected member function) |
[virtual] |
provides the formatting pattern for positive values (virtual protected member function) |
[virtual] |
provides the formatting pattern for negative values (virtual protected member function) |
Inherited from std::money_base
Member type | Definition |
enum part { none, space, symbol, sign, value }; | unscoped enumeration type |
struct pattern { char field[4]; }; | the monetary format type |
Enumeration constant | Definition |
none | whitespace is permitted but not required except in the last position, where whitespace is not permitted |
space | one or more whitespace characters are required |
symbol | the sequence of characters returned by moneypunct::curr_symbol is required |
sign | the first of the characters returned by moneypunct::positive_sign or moneypunct::negative_sign is required |
value | the absolute numeric monetary value is required |
[edit] Example
#include <iostream> #include <locale> int main() { std::locale jp("ja_JP.UTF-8"); std::cout << "japanese currency symbol is " << std::use_facet<std::moneypunct<char, true>>(jp).curr_symbol() << "or " << std::use_facet<std::moneypunct<char>>(jp).curr_symbol() << " for short\n"; }
Output:
japanese currency symbol is JPY or ¥ for short
[edit] See also
defines monetary formatting patterns (class) | |
extends std::moneypunct for the specified locale (class template) | |
parses and constructs a monetary value from an input character sequence (class template) | |
formats a monetary value for output as a character sequence (class template) |