std::moneypunct<CharT,International>:: decimal_point, do_decimal_point
From cppreference.net
<
cpp
|
locale
|
moneypunct
C++
Text processing library
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Localization library
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::moneypunct
| Member functions | ||||
|
moneypunct::decimal_point
moneypunct::do_decimal_point
|
||||
|
Определено в заголовке
<locale>
|
||
|
public
:
CharT decimal_point ( ) const ; |
(1) | |
|
protected
:
virtual CharT do_decimal_point ( ) const ; |
(2) | |
1)
Публичная функция-член, вызывает функцию-член
do_decimal_point
наиболее производного класса.
2)
Возвращает символ, используемый в качестве разделителя десятичных разрядов при денежном вводе-выводе, если формат использует дробные части (то есть если
do_frac_digits()
больше нуля). Для типичных локалей США это символ
'.'
(или
L
'.'
).
Возвращаемое значение
Объект типа
CharT
содержащий символ десятичной точки.
Пример
Запустить этот код
#include <iomanip> #include <iostream> #include <locale> void show_dpt(const char* locname) { std::locale loc(locname); std::cout.imbue(loc); std::cout << locname << " десятичный разделитель: '" << std::use_facet<std::moneypunct<char>>(loc).decimal_point() << "' пример: " << std::showbase << std::put_money(123); if (std::use_facet<std::moneypunct<char>>(loc).frac_digits() == 0) std::cout << " (не использует дробные цифры)"; std::cout << '\n'; } int main() { show_dpt("en_US.utf8"); show_dpt("ja_JP.utf8"); show_dpt("sv_SE.utf8"); show_dpt("de_DE.utf8"); }
Вывод:
en_US.utf8 десятичный разделитель: '.' пример: $1.23 ja_JP.utf8 десятичный разделитель: '.' пример: ¥123 (не использует дробные цифры) sv_SE.utf8 десятичный разделитель: ',' пример: 1,23 kr de_DE.utf8 десятичный разделитель: ',' пример: 1,23 €
Смотрите также
|
[virtual]
|
предоставляет количество цифр для отображения после десятичной точки
(виртуальная защищенная функция-член) |