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

< cpp‎ | locale‎ | moneypunct

定义于头文件 `<locale>` |  |
public: CharT decimal_point() const; | (1) |
protected: virtual CharT do_decimal_point() const; | (2) |

1) 公开成员函数，调用最终导出类的成员函数 `do_decimal_point` 。
2) 返回用作货币 I/O 中小数点的字符，若格式使用小数（即若 do_frac_digits() 大于零）。对于典型的美国本地环境，其为字符 '.' （或 L'.' ）。

### 返回值

保有小数点的 `CharT` 类型值。

### 示例

    #include <iostream>
    #include <iomanip>
    #include <locale>

    void show_dpt(const char* locname)
    {
        std::locale loc(locname);
        std::cout.imbue(loc);
        std::cout << locname << " decimal point is '"
                  << std::use_facet<std::moneypunct<char>>(loc).decimal_point()
                  << "' for example: " << std::showbase << std::put_money(123);
        if (std::use_facet<std::moneypunct<char>>(loc).frac_digits() == 0)
            std::cout << " (does not use frac digits) ";

        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 decimal point is '.' for example: $1.23
    ja_JP.utf8 decimal point is '.' for example: ￥123 (does not use frac digits)
    sv_SE.utf8 decimal point is ',' for example: 1,23 kr
    de_DE.utf8 decimal point is ',' for example: 1,23 €

### 参阅

do_frac_digits [虚] | 提供小数点后要显示的位数 (虚受保护成员函数)