Namespaces
Variants

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

From cppreference.net
Definiert im 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, ruft die Memberfunktion do_pos_format der am stärksten abgeleiteten Klasse auf.
2) Öffentliche Memberfunktion, ruft die Memberfunktion do_neg_format der am meisten abgeleiteten Klasse auf.
3) Gibt die Formatstruktur (vom Typ std::money_base::format ) zurück, die die Formatierung positiver Geldwerte beschreibt.
4) Gibt die Formatstruktur (vom Typ std::money_base::format ) zurück, die die Formatierung negativer Geldwerte beschreibt.

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

Inhaltsverzeichnis

Rückgabewert

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

Hinweise

Während std::money_put pos_format für die Formatierung positiver Werte und neg_format für die Formatierung negativer Werte verwendet, nutzt std::money_get neg_format zum Parsen aller monetären Werte: Es geht davon aus, dass neg_format mit pos_format kompatibel ist.

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 $-

Siehe auch

liefert die Zeichenkette, die als Währungsbezeichner verwendet wird
(virtuelle geschützte Elementfunktion)
liefert die Zeichenkette zur Kennzeichnung eines positiven oder negativen Werts
(virtuelle geschützte Elementfunktion)
[virtual]
analysiert einen Geldbetrag aus einem Eingabestrom
(virtuelle geschützte Elementfunktion von std::money_get<CharT,InputIt> )
[virtual]
formatiert einen Geldbetrag und schreibt ihn in einen Ausgabestrom
(virtuelle geschützte Elementfunktion von std::money_put<CharT,OutputIt> )