std:: numpunct_byname
|
定义于头文件
<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
参见
|
定义数值标点规则
(类模板) |