Namespaces
Variants

std::moneypunct<CharT,International>:: decimal_point, do_decimal_point

From cppreference.net
Определено в заголовке <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 €

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

предоставляет количество цифр для отображения после десятичной точки
(виртуальная защищенная функция-член)