| Localization library | |||||||||||||||||||||||||
| Regular expressions library(C++11) | |||||||||||||||||||||||||
| Formatting library(C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
moneypunct::curr_symbolmoneypunct::do_curr_symbol | ||||
Defined in header <locale> | ||
public: string_type curr_symbol()const; | (1) | |
protected: virtual string_type do_curr_symbol()const; | (2) | |
do_curr_symbol of the most derived class.International (the second template parameter ofstd::moneypunct) isfalse, the identifier is usually a single (wide) character, such as"¥" or"$". IfInternational istrue, the identifier is usually a four-character string holding the three-characterISO 4217 currency code followed by a space ("JPY " or"USD ").Contents |
The object of typestring_type holding the currency symbol or code.
#include <iostream>#include <locale> void show_ccy(constchar* locname){std::locale loc(locname);std::cout<< locname<<" currency symbol is "<<std::use_facet<std::moneypunct<char,true>>(loc).curr_symbol()<<"or "<<std::use_facet<std::moneypunct<char>>(loc).curr_symbol()<<" for short\n";} int main(){ show_ccy("en_US.utf8"); show_ccy("ja_JP.utf8"); show_ccy("sv_SE.utf8"); show_ccy("ru_RU.utf8"); show_ccy("vi_VN.utf8");}
Output:
en_US.utf8 currency symbol is USD or $ for shortja_JP.utf8 currency symbol is JPY or ¥ for shortsv_SE.utf8 currency symbol is SEK or kr for shortru_RU.utf8 currency symbol is RUB or руб for shortvi_VN.utf8 currency symbol is VND or ₫ for short
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 666 | C++98 | the length of the identifier string was required to be4 ifInternational istrue | not required |
[virtual] | provides the formatting pattern for currency values (virtual protected member function)[edit] |