Money format for US dollars : locale « Development « C++ Tutorial






#include <iostream>
#include <locale>

using namespace std;

int main()
{
  double balance = 1234.56;

  locale usloc("English_US");
  locale gloc("German_Germany");

  cout << showbase;

  cout.imbue(usloc);
  const money_put<char> &us_mon = use_facet<money_put<char> >(cout.getloc());

  us_mon.put(cout, false, cout, ' ', "123456");
  us_mon.put(cout, true, cout, ' ', -299);
  us_mon.put(cout, false, cout, ' ', balance * 100);
  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