Namespaces
Variants

std::moneypunct<CharT,International>:: frac_digits, do_frac_digits

From cppreference.net
Definiert im Header <locale>
public :
int frac_digits ( ) const ;
(1)
protected :
virtual int do_frac_digits ( ) const ;
(2)
1) Öffentliche Memberfunktion, ruft die Memberfunktion do_frac_digits der am stärksten abgeleiteten Klasse auf.
2) Gibt die Anzahl der nach dem Dezimalpunkt anzuzeigenden Stellen bei der Ausgabe von Währungsbeträgen zurück.

Rückgabewert

Die Anzahl der anzuzeigenden Nachkommastellen. In gängigen US-Lokalisierungen ist dies der Wert 2 .

Beispiel

#include <iomanip>
#include <iostream>
#include <iterator>
#include <locale>
struct space_out : std::moneypunct<char>
{
    pattern do_pos_format() const { return {value, none, none, none}; }
    int do_frac_digits() const { return 0; }
    char_type do_thousands_sep() const { return ' '; }
    string_type do_grouping() const { return "\002"; }
};
int main()
{
    std::cout.imbue(std::locale("en_US.UTF-8"));
    std::cout << "american locale: " << std::showbase
              << std::put_money(12345678.0) << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new space_out));
    std::cout << "locale with modified moneypunct: "
              << std::put_money(12345678.0) << '\n';
}

Ausgabe:

american locale: $123,456.78
locale with modified moneypunct: 12 34 56 78

Siehe auch

liefert das Zeichen zur Verwendung als Tausendertrennzeichen
(geschützte virtuelle Elementfunktion)
liefert das Zeichen zur Verwendung als Dezimaltrennzeichen
(geschützte virtuelle Elementfunktion)