Namensräume
Varianten
Aktionen

std::moneypunct<CharT,International>::pos_format, do_pos_format, neg_format, do_neg_format

Von cppreference.com
< cpp‎ | locale‎ | moneypunct
 
 
 
 
 
Definiert in Header <locale>
public:
pattern pos_format() const;
(1)
public:
pattern neg_format() const;
(2)
protected:
virtual pattern do_pos_format() const;
(3)
protected:
virtual pattern do_neg_format() const;
(4)
1) Öffentliche Memberfunktion, die die Memberfunktion do_pos_format der am weitesten abgeleiteten Klasse aufruft.
2) Öffentliche Memberfunktion, die die Memberfunktion do_neg_format der am weitesten abgeleiteten Klasse aufruft.
3) Gibt die Formatstruktur (vom Typ std::money_base::format) zurück, die die Formatierung positiver Geldbeträge beschreibt.
4) Gibt die Formatstruktur (vom Typ std::money_base::format) zurück, die die Formatierung negativer Geldbeträge beschreibt.

Die Standard-Spezialisierungen von std::moneypunct geben das Muster {symbol, sign, none, value} zurück.

Inhalt

[bearbeiten] Rückgabewert

Das Objekt vom Typ std::money_base::format, das die von dieser Locale verwendete Formatierung beschreibt.

[bearbeiten] Hinweise

Während std::money_put pos_format zur Formatierung positiver Werte und neg_format zur Formatierung negativer Werte verwendet, verwendet std::money_get neg_format zum Parsen aller Geldbeträge: es wird angenommen, dass neg_format mit pos_format kompatibel ist.

[bearbeiten] Beispiel

#include <iomanip>
#include <iostream>
#include <locale>
 
struct my_punct : std::moneypunct_byname<char, false>
{
    my_punct(const char* name) : moneypunct_byname(name) {}
    pattern do_pos_format() const { return {value, space, symbol, sign}; }
    pattern do_neg_format() const { return {value, space, symbol, sign}; }
};
 
int main()
{
    std::cout.imbue(std::locale("en_US.utf8"));
    std::cout << "american locale: " << std::showbase
              << std::put_money(12345678.0) << '\n';
 
    std::cout.imbue(std::locale(std::cout.getloc(), new my_punct("en_US.utf8")));
    std::cout << "locale with modified moneypunct:\n"
              << std::put_money(12345678.0) << '\n'
              << std::put_money(-12345678.0) << '\n';
}

Ausgabe

american locale: $123,456.78
locale with modified moneypunct:
123,456.78 $
123,456.78 $-

[bearbeiten] Siehe auch

[virtuell]
liefert die Zeichenkette, die als Währungsbezeichner verwendet werden soll
(virtuelle geschützte Memberfunktion) [bearbeiten]
liefert die Zeichenkette, die einen positiven oder negativen Wert angibt
(virtuelle geschützte Memberfunktion) [bearbeiten]
[virtuell]
parst einen Geldbetrag aus einem Eingabestrom
(virtuelle geschützte Memberfunktion von std::money_get<CharT,InputIt>) [bearbeiten]
[virtuell]
formatiert einen Geldbetrag und schreibt in einen Ausgabestrom
(virtuelle geschützte Memberfunktion von std::money_put<CharT,OutputIt>) [bearbeiten]