negative_sign
STD::货币量::正[医]签,做[医]阳性[医]符号,阴性[医]签,做[医]负[医]标志
Defined in header | | |
---|---|---|
public: string_type positive_sign() const; | (1) | |
public: string_type negative_sign() const; | (2) | |
protected: virtual string_type do_positive_sign() const; | (3) | |
protected: virtual string_type do_negative_sign() const; | (4) | |
1%29公共成员函数,调用成员函数do_positive_sign
最派生的类。
2%29公共成员函数,调用成员函数do_negative_sign
最派生的类。
3%29返回用于格式化正货币值的字符串。
3%29返回用于格式化负货币值的字符串。
仅返回字符串的第一个字符是出现在pos_format()
/neg_format()
值指示的位置sign
.其余的字符出现后
剩下的钱。
尤其是否定的[医]标志"-"
,格式可能显示为"-1.23 €"
,则为负数[医]标志"()"
它看起来就像"(1.23 €)"
...
返回值
类型的字符串string_type
将字符作为正负号使用。
例
二次
#include <iostream>
#include <iomanip>
#include <locale>
struct my_punct : std::moneypunct_byname<char, false> {
my_punct(const char* name) : moneypunct_byname(name) {}
string_type do_negative_sign() const { return "()"; }
};
int main()
{
std::locale loc("de_DE.utf8"
std::cout.imbue(loc
std::cout << loc.name() << " negative sign is '"
<< std::use_facet<std::moneypunct<char>>(loc).negative_sign()
<< "' for example: " << std::showbase << std::put_money(-1234) << '\n';
std::locale loc2("ms_MY.utf8"
std::cout.imbue(loc2
std::cout << loc2.name() << " negative sign is '"
<< std::use_facet<std::moneypunct<char>>(loc2).negative_sign()
<< "' for example: " << std::put_money(-1234) << '\n';
std::cout.imbue(std::locale(std::cout.getloc(), new my_punct("de_DE.utf8"))
std::cout << "de_DE.utf8 with negative_sign set to \"()\": "
<< std::put_money(-1234) << '\n';
}
二次
产出:
二次
de_DE.utf8 negative sign is '-' for example: -12,34 €
ms_MY.utf8 negative sign is '()' for example: (RM12.34)
de_DE.utf8 with negative_sign set to "()": (12,34 €)
二次
另见
do_pos_formatdo_neg_format virtual | provides the formatting pattern for currency values (virtual protected member function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。