std::numpunct<CharT>::thousands_sep,do_thousands_sep (3) - Linux Manuals

std::numpunct<CharT>::thousands_sep,do_thousands_sep: std::numpunct<CharT>::thousands_sep,do_thousands_sep

NAME

std::numpunct<CharT>::thousands_sep,do_thousands_sep - std::numpunct<CharT>::thousands_sep,do_thousands_sep

Synopsis


Defined in header <locale>
public: (1)
char_type thousands_sep() const;
protected: (2)
virtual char_type do_thousands_sep() const;


1) Public member function, calls the member function do_thousands_sep of the most derived class.
2) Returns the character to be used as the separator between digit groups when parsing or formatting integers and integral parts of floating-point values.

Return value


The object of type char_type to use as the thousands separator. The standard specializations of std::numpunct return ',' and L','.

Example


// Run this code


  #include <iostream>
  #include <locale>


  struct space_out : std::numpunct<char> {
      char do_thousands_sep() const { return ' '; } // separate with spaces
      std::string do_grouping() const { return "\1"; } // groups of 1 digit
  };


  int main()
  {
      std::cout << "default locale: " << 12345678 << '\n';
      std::cout.imbue(std::locale(std::cout.getloc(), new space_out));
      std::cout << "locale with modified numpunct: " << 12345678 << '\n';
  }

Output:


  default locale: 12345678
  locale with modified numpunct: 1 2 3 4 5 6 7 8

See also


do_grouping provides the numbers of digits between each pair of thousands separators
            (virtual protected member function)
[virtual]