std::numpunct_byname
来自cppreference.com
| 在标头 <locale> 定义
|
||
| |
||
std::numpunct_byname 是 std::numpunct 刻面,它封装在它构造时指定的本地环境的数值标点偏好。
特化
标准库保证提供以下特化:
在标头
<locale> 定义 | |
std::numpunct_byname<char>
|
窄字符输入/输出的本地环境限定 std::numpunct 刻面 |
std::numpunct_byname<wchar_t>
|
宽字符输入/输出的本地环境限定 std::numpunct 刻面 |
嵌套类型
| 类型 | 定义 |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT>
|
成员函数
构造新的 numpunct_byname 刻面 (公开成员函数) | |
销毁 numpunct_byname 刻面 (受保护成员函数) |
std::numpunct_byname::numpunct_byname
| |
||
| |
(C++11 起) | |
为名为 name 的本地环境构造新的 std::numpunct_byname 刻面。
refs 用于资源管理:在销毁最后一个保有刻面的 std::locale 对象时,如果 refs == 0,那么实现会销毁刻面对象。否则不销毁对象。
参数
| name | - | 本地环境的名称 |
| refs | - | 链接到该刻面的引用数 |
std::numpunct_byname::~numpunct_byname
| |
||
销毁刻面。
继承自 std::numpunct
嵌套类型
| 类型 | 定义 |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT>
|
数据成员
| 成员 | 描述 |
std::locale::id id [静态]
|
刻面标识 |
成员函数
调用 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"默认本地环境:" << number << L'\n';
std::wcout.imbue(std::locale(std::wcout.getloc(),
new std::numpunct_byname<wchar_t>("ru_RU.UTF8")));
std::wcout << L"带有俄语数值标点的本地环境:" << number << L'\n';
}
输出:
默认本地环境:1000.25
带有俄语数值标点的本地环境:1 000,25
参阅
| 定义数值标点规则 (类模板) |