Make a new locale and attach it to the standard output stream : locale « Development « C++ Tutorial






#include <iomanip>
#include <iostream>
#include <locale>

using namespace std;

class Separator_facet: public numpunct<char>
{
   public:
   explicit Separator_facet( size_t refs = 0): numpunct<char>( refs ){}

   protected:
   virtual string do_grouping() const{ return "\3"; }
};

int main()
{
   const int million = 1000000;
   const double number = 1234.56789;
   cout << million << fixed << setprecision( 5 ) << number;

   locale separator_locale( cout.getloc(), new Separator_facet );
   cout.imbue( separator_locale );
   cout << million << " " << number << endl;
}








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