std::numpunct::thousands_sep,do_thousands_sep(3) | C++ Standard Libary | std::numpunct::thousands_sep,do_thousands_sep(3) |
NAME¶
std::numpunct::thousands_sep,do_thousands_sep - std::numpunct::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
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG 20 C++98 the return type was string_type changed to char_type
See also¶
do_grouping provides the numbers of digits between each pair of
thousands separators
[virtual] (virtual protected member function)
2024.06.10 | http://cppreference.com |