std::moneypunct<CharT,International>:: pos_format, do_pos_format, neg_format, do_neg_format
|
定义于头文件
<locale>
|
||
|
public
:
pattern pos_format ( ) const ; |
(1) | |
|
public
:
pattern neg_format ( ) const ; |
(2) | |
|
protected
:
virtual pattern do_pos_format ( ) const ; |
(3) | |
|
protected
:
virtual pattern do_neg_format ( ) const ; |
(4) | |
do_pos_format
。
do_neg_format
。
标准特化的 std:: moneypunct 返回模式 { symbol, sign, none, value } 。
目录 |
返回值
类型为 std::money_base::format 的对象,用于描述此区域设置所使用的格式化方式。
注释
当
std::money_put
使用
pos_format
格式化正值并使用neg_format格式化负值时,
std::money_get
则使用
neg_format
来解析所有货币值:它假定
neg_format
与
pos_format
是兼容的。
示例
#include <iomanip> #include <iostream> #include <locale> struct my_punct : std::moneypunct_byname<char, false> { my_punct(const char* name) : moneypunct_byname(name) {} pattern do_pos_format() const { return {value, space, symbol, sign}; } pattern do_neg_format() const { return {value, space, symbol, sign}; } }; int main() { std::cout.imbue(std::locale("en_US.utf8")); std::cout << "american locale: " << std::showbase << std::put_money(12345678.0) << '\n'; std::cout.imbue(std::locale(std::cout.getloc(), new my_punct("en_US.utf8"))); std::cout << "locale with modified moneypunct:\n" << std::put_money(12345678.0) << '\n' << std::put_money(-12345678.0) << '\n'; }
输出:
american locale: $123,456.78 locale with modified moneypunct: 123,456.78 $ 123,456.78 $-
参见
|
[virtual]
|
提供用作货币标识符的字符串
(虚受保护成员函数) |
|
[virtual]
|
提供表示正值或负值的字符串
(虚受保护成员函数) |
|
[virtual]
|
从输入流解析货币值
(
std::money_get<CharT,InputIt>
的虚受保护成员函数)
|
|
[virtual]
|
格式化货币值并写入输出流
(
std::money_put<CharT,OutputIt>
的虚受保护成员函数)
|