Namespaces
Variants

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

From cppreference.net
Определено в заголовке <locale>
public :
char_type thousands_sep ( ) const ;
(1)
protected :
virtual char_type do_thousands_sep ( ) const ;
(2)
1) Публичная функция-член, вызывает функцию-член do_thousands_sep наиболее производного класса.
2) Возвращает символ, используемый в качестве разделителя между группами цифр при разборе или форматировании целых чисел и целых частей значений с плавающей точкой.

Содержание

Возвращаемое значение

Объект типа char_type , используемый в качестве разделителя тысяч. Стандартные специализации std::numpunct возвращают ',' и L ',' .

Пример

#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';
}

Вывод:

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

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 20 C++98 the return type was string_type changed to char_type

Смотрите также

[virtual]
предоставляет количество цифр между каждой парой разделителей тысяч
(виртуальная защищённая функция-член)