Namespaces
Variants

std:: numpunct_byname

From cppreference.net
定义于头文件 <locale>
template < class CharT >
class numpunct_byname : public std:: numpunct < CharT > ;

std::numpunct_byname 是一个 std::numpunct facet,它在构造时封装了指定区域设置的数值标点偏好。

目录

特化

标准库保证提供以下特化版本:

定义于头文件 <locale>
std :: numpunct_byname < char > 用于窄字符I/O的本地化 std::numpunct 平面
std :: numpunct_byname < wchar_t > 用于宽字符I/O的本地化 std::numpunct 平面

嵌套类型

类型 定义
char_type CharT
string_type std:: basic_string < CharT >

成员函数

(constructor)
构造新的 numpunct_byname 本地化刻面
(公开成员函数)
(destructor)
销毁 numpunct_byname 本地化刻面
(受保护成员函数)

std::numpunct_byname:: numpunct_byname

explicit numpunct_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit numpunct_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(since C++11)

构造一个具有指定区域设置名称 name 的新 std::numpunct_byname 平面。

refs 用于资源管理:若 refs == 0 ,当最后一个持有该平面的 std::locale 对象被销毁时,实现将销毁该平面;否则该对象不会被销毁。

参数

name - 区域设置的名称
refs - 链接到该平面的引用数量

std::numpunct_byname:: ~numpunct_byname

protected :
~numpunct_byname ( ) ;

销毁该区域设置 facet。

继承自 std:: numpunct

嵌套类型

类型 定义
char_type CharT
string_type std:: basic_string < CharT >

数据成员

成员 描述
std::locale::id id [静态] facet 的标识符

成员函数

调用 do_decimal_point
( std::numpunct<CharT> 的公开成员函数)
调用 do_thousands_sep
( std::numpunct<CharT> 的公开成员函数)
调用 do_grouping
( std::numpunct<CharT> 的公开成员函数)
调用 do_truename do_falsename
( std::numpunct<CharT> 的公开成员函数)

受保护成员函数

[虚函数]
提供用作小数点的字符
( std::numpunct<CharT> 的虚受保护成员函数)
[虚函数]
提供用作千位分隔符的字符
( std::numpunct<CharT> 的虚受保护成员函数)
[虚函数]
提供每对千位分隔符之间的数字位数
( std::numpunct<CharT> 的虚受保护成员函数)
提供用作布尔值 true false 名称的字符串
( std::numpunct<CharT> 的虚受保护成员函数)

示例

本示例演示如何在不更改其余区域设置的情况下应用其他语言的数字标点规则。

#include <iostream>
#include <locale>
int main()
{
    const double number = 1000.25;
    std::wcout << L"default locale: " << number << L'\n';
    std::wcout.imbue(std::locale(std::wcout.getloc(),
                                 new std::numpunct_byname<wchar_t>("ru_RU.UTF8")));
    std::wcout << L"default locale with russian numpunct: " << number << L'\n';
}

输出:

default locale: 1000.25
default locale with russian numpunct: 1 000,25

参见

定义数值标点规则
(类模板)