2011-02-28

Grouping and thousands separator in C++

Learn by doing...

#include <locale>

template <class T>
struct formatter : std::numpunct<T>
{
   protected:
      T do_thousands_sep() const
      {
         return T('-');
      }
      std::basic_string<T> do_grouping() const
      {
         return std::basic_string<T>("\3\2\3");
      }
};

#include <iostream>

int main()
{
   std::locale fmt(std::locale::classic(), new formatter<char>);
   std::cout.imbue(fmt);

   std::cout << 12345678 << std::endl;
   return 0;
}

Output:
123-45-678

0 kommentarer:

Post a Comment