Spec-Zone.ru › C++

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

Определено в заголовке <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 Применимо к Поведение, как опубликовано Правильное поведение
LWG 20 C++98 тип возвращаемого значения был string_type изменён на char_type

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/numpunct/thousands_sep

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API