Get a moneypunct facet for cout for a locale : locale « Development « C++ Tutorial






#include <iostream>
#include <locale>

using namespace std;

int main()
{
  // Create a locale for US English.
  locale usloc("English_US");

  // Set the locale of cout to US English.
  cout.imbue(usloc);

  // Get a moneypunct facet for cout.
  const moneypunct<char> &us_monpunct = use_facet<moneypunct<char> >(cout.getloc());

  cout << "  Currency symbol: " << us_monpunct.curr_symbol() << endl;
  cout << " Decimal point: " << us_monpunct.decimal_point() << endl;
  cout << " Thousands separator: " << us_monpunct.thousands_sep() << endl;
  cout << " Fraction digits: " << us_monpunct.frac_digits() << endl;

  cout << " Number of grouping rules: " << us_monpunct.grouping().size() << endl;

  for(unsigned i=0; i < us_monpunct.grouping().size(); ++i)
    cout << " Size of group " << i << ": "
         << (int)us_monpunct.grouping()[0] << endl;

  cout << endl;


  return 0;
}








5.28.locale
5.28.1.Create a copy of the user's locale
5.28.2.Get a moneypunct facet for cout for a locale
5.28.3.Money format for US dollars
5.28.4.show money in international German format
5.28.5.Use a German locale to write data to standard ouput
5.28.6.Process the name of the locale and read input
5.28.7.Format numeric values relative to a locale.
5.28.8.Get numeric input facet of the locale loc and read value with numeric input facet
5.28.9.Make a new locale and attach it to the standard output stream