Namespaces
Variants

std:: moneypunct_byname

From cppreference.net
Definiert im Header <locale>
template < class CharT, bool Intl = false >
class moneypunct_byname : public std:: moneypunct < CharT, Intl > ;

std::moneypunct_byname ist ein std::moneypunct Facet, das die Währungsformatierungspräferenzen eines Locales kapselt, das bei seiner Konstruktion angegeben wird.

Inhaltsverzeichnis

Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung jeder Spezialisierung, die die folgenden Typanforderungen erfüllt:

  • CharT ist einer von char und wchar_t , und
  • Intl ist eine mögliche Spezialisierung für einen bool -Parameter.

Verschachtelte Typen

Typ Definition
pattern std::money_base::pattern
string_type std:: basic_string < CharT >

Memberfunktionen

(Konstruktor)
konstruiert einen neuen moneypunct_byname Facet
(öffentliche Elementfunktion)
(Destruktor)
zerstört einen moneypunct_byname Facet
(geschützte Elementfunktion)

std::moneypunct_byname:: moneypunct_byname

explicit moneypunct_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit moneypunct_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(seit C++11)

Konstruiert einen neuen std::moneypunct_byname Facet für ein Locale mit name .

refs wird für die Ressourcenverwaltung verwendet: wenn refs == 0 , zerstört die Implementierung den Facet, wenn das letzte std::locale Objekt, das ihn enthält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.

Parameter

name - der Name des Locale
refs - die Anzahl der Referenzen, die mit dem Facet verknüpft sind

std::moneypunct_byname:: ~moneypunct_byname

protected :
~moneypunct_byname ( ) ;

Zerstört das Facet.

Geerbt von std:: moneypunct

Geschachtelte Typen

Typ Definition
char_type CharT
string_type std:: basic_string < CharT >

Datenmitglieder

Mitglied Beschreibung
std::locale::id id [static] der Identifikator des Facet
const bool intl [static] International

Memberfunktionen

ruft do_decimal_point auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_thousands_sep auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_grouping auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_curr_symbol auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_positive_sign oder do_negative_sign auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_frac_digits auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )
ruft do_pos_format / do_neg_format auf
(öffentliche Elementfunktion von std::moneypunct<CharT,International> )

Geschützte Memberfunktionen

liefert das als Dezimaltrennzeichen zu verwendende Zeichen
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
liefert das als Tausendertrennzeichen zu verwendende Zeichen
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
[virtual]
liefert die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
liefert die als Währungsbezeichner zu verwendende Zeichenkette
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
liefert die Zeichenkette zur Kennzeichnung eines positiven oder negativen Werts
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
liefert die Anzahl der nach dem Dezimaltrennzeichen anzuzeigenden Ziffern
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )
liefert das Formatierungsmuster für Währungswerte
(virtuelle geschützte Elementfunktion von std::moneypunct<CharT,International> )

Geerbt von std:: money_base

Geschachtelte Typen

Typ Definition
enum part { none, space, symbol, sign, value } ; unbegrenzter Aufzählungstyp
struct pattern { char field [ 4 ] ; } ; der monetäre Formattyp
Aufzählungskonstante Beschreibung
none Leerzeichen sind erlaubt, aber nicht erforderlich, außer an der letzten Position, wo Leerzeichen nicht erlaubt sind
space ein oder mehrere Leerzeichen sind erforderlich
symbol die Zeichenfolge, die von std::moneypunct::curr_symbol zurückgegeben wird, ist erforderlich
sign das erste der Zeichen, die von std::moneypunct::positive_sign oder std::moneypunct::negative_sign zurückgegeben werden, ist erforderlich
value der absolute numerische Geldwert ist erforderlich

Beispiel

Dieses Beispiel demonstriert, wie Währungsformatierungsregeln einer anderen Sprache angewendet werden können, ohne den Rest der Locale zu ändern.

#include <iomanip>
#include <iostream>
#include <locale>
int main()
{
    long double mon = 1234567;
    std::locale::global(std::locale("en_US.utf8"));
    std::wcout.imbue(std::locale());
    std::wcout << L"american locale: " << std::showbase
               << std::put_money(mon) << '\n';
    std::wcout.imbue(std::locale(std::wcout.getloc(),
                                 new std::moneypunct_byname<wchar_t>("ru_RU.utf8")));
    std::wcout << L"american locale with russian moneypunct: "
               << std::put_money(mon) << '\n';
}

Ausgabe:

american locale: $12,345.67
american locale with russian moneypunct: 12 345.67 руб

Siehe auch

definiert monetäre Formatierungsparameter, die von std::money_get und std::money_put verwendet werden
(Klassentemplate)