Пространства имён
Варианты
Действия

std::moneypunct::thousands_sep, std::moneypunct::do_thousands_sep

Материал из cppreference.com
< cpp‎ | locale‎ | moneypunct

 
 
Локализация
Локализации и фасеты
locale
Классификация символов
Преобразования
Базовые классы фасетов
Категории фасетов
Зависящие от локализации категории фасетов
Не зависящие от локализации фасеты преобразования unicode
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Локализации С
 
 
Определено в заголовочном файле <locale>
public:
char_type thousands_sep() const;
(1)
protected:
char_type virtual do_thousands_sep() const;
(2)
1)
общественные функции-члена, вызывает do_thousands_sep функции-члена из самых производного класса.
Оригинал:
public member function, calls the member function do_thousands_sep of the most derived class.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Возвращает символ, который используется в качестве разделителя между группами цифр при разборе или форматирования неотъемлемой части денежных значений.
Оригинал:
returns the character to be used as the separator between digit groups when parsing or formatting the integral parts of monetary values.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

Объект типа char_type использовать в качестве разделителя тысяч. Стандартный специализации std::moneypunct возвращения ’,’ и L’,’.
Оригинал:
The object of type char_type to use as the thousands separator. The standard specializations of std::moneypunct return ’,’ and L’,’.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Пример

#include <locale>
#include <iostream>
#include <iomanip>
#include <iterator>
struct space_out : std::moneypunct<char> {
    pattern do_pos_format()      const { return { {value, none, none, none} };}
    int do_frac_digits()         const { return 0; }
    char_type do_thousands_sep() const { return ' ';}
    string_type do_grouping()    const { return "\002";}
};
int main()
{
    std::cout.imbue(std::locale("en_US.UTF-8"));
    std::cout << "american locale: " << std::showbase
              << std::put_money(12345678.0)<< '\n';
 
    std::cout.imbue(std::locale(std::cout.getloc(), new space_out()));
    std::cout << "locale with modified moneypunct: "
              << std::put_money(12345678.0)<< '\n';
}

Вывод:

american locale: $123,456.78
locale with modified moneypunct: 12 34 56 78

[править] См. также

[virtual]
обеспечивает количество цифр между каждой парой тысяч сепараторов
Оригинал:
provides the numbers of digits between each pair of thousands separators
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(virtual protected функция-член)