std::moneypunct<CharT,International>:: pos_format, do_pos_format, neg_format, do_neg_format
|
Определено в заголовочном файле
<locale>
|
||
|
public
:
pattern pos_format ( ) const ; |
(1) | |
|
public
:
pattern neg_format ( ) const ; |
(2) | |
|
protected
:
virtual pattern do_pos_format ( ) const ; |
(3) | |
|
protected
:
virtual pattern do_neg_format ( ) const ; |
(4) | |
do_pos_format
наиболее производного класса.
do_neg_format
наиболее производного класса.
Стандартные специализации std:: moneypunct возвращают шаблон { symbol, sign, none, value } .
Содержание |
Возвращаемое значение
Объект типа std::money_base::format описывающий форматирование, используемое данной локалью.
Примечания
В то время как
std::money_put
использует
pos_format
для форматирования положительных значений и neg_format для форматирования отрицательных значений,
std::money_get
использует
neg_format
для разбора всех денежных значений: он предполагает, что
neg_format
совместим с
pos_format
.
Пример
#include <iomanip> #include <iostream> #include <locale> struct my_punct : std::moneypunct_byname<char, false> { my_punct(const char* name) : moneypunct_byname(name) {} pattern do_pos_format() const { return {value, space, symbol, sign}; } pattern do_neg_format() const { return {value, space, symbol, sign}; } }; int main() { std::cout.imbue(std::locale("en_US.utf8")); std::cout << "american locale: " << std::showbase << std::put_money(12345678.0) << '\n'; std::cout.imbue(std::locale(std::cout.getloc(), new my_punct("en_US.utf8"))); std::cout << "locale with modified moneypunct:\n" << std::put_money(12345678.0) << '\n' << std::put_money(-12345678.0) << '\n'; }
Вывод:
american locale: $123,456.78 locale with modified moneypunct: 123,456.78 $ 123,456.78 $-
Смотрите также
|
[virtual]
|
предоставляет строку для использования в качестве идентификатора валюты
(виртуальная защищенная функция-член) |
|
[virtual]
|
предоставляет строку для обозначения положительного или отрицательного значения
(виртуальная защищенная функция-член) |
|
[virtual]
|
анализирует денежное значение из входного потока
(виртуальная защищенная функция-член
std::money_get<CharT,InputIt>
)
|
|
[virtual]
|
форматирует денежное значение и записывает в выходной поток
(виртуальная защищенная функция-член
std::money_put<CharT,OutputIt>
)
|