std::moneyp..._frac_digits(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

🌸 NAME 🌸

okay so bestie, this is the page for std::moneypunct::frac_digits,do_frac_digits from the C++ Standard Libary manual (yes, that's the header's spelling, not me 😭). The header shorthand is std::moneyp..._frac_digits(3) β€” a whole mouthful, but it's literally the frac_digits / do_frac_digits duo in std::moneypunct.


✨ Synopsis ✨

Defined in header <locale>:

public:                             (1)
int frac_digits() const;
protected:                          (2)
virtual int do_frac_digits() const;
  • (1) This is the public member function, and it calls the member function do_frac_digits of the most derived class.
  • (2) This returns the number of digits to be displayed after the decimal point when printing monetary values.

πŸ’Έ Return value πŸ’Έ

The return value is the number of digits to be displayed after the decimal point. In common U.S. locales, this is the value 2. slay. ✌️


πŸ§ͺ Example πŸ§ͺ

// Run this code β€” go off, bestie:

#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';
}

Output:

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

πŸ‘€ See also πŸ‘€

  • do_thousands_sep provides the character to use as thousands separator [virtual] (virtual protected member function)
  • do_decimal_point provides the character to use as decimal point [virtual] (virtual protected member function)

mwah πŸ’‹ sign-off time: source is http://cppreference.com, date/version is 2024.06.10, and the page is std::moneyp..._frac_digits(3). periodt. πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from