std::moneypunct<CharT,International>:: positive_sign, do_positive_sign, negative_sign, do_negative_sign
From cppreference.net
<
cpp
|
locale
|
moneypunct
C++
Text processing library
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Localization library
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::moneypunct
| Member functions | ||||
|
moneypunct::positive_sign
moneypunct::do_positive_sign
moneypunct::negative_sign
moneypunct::do_negative_sign
|
||||
|
ヘッダー
<locale>
で定義
|
||
|
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)
パブリックメンバー関数。最も派生したクラスのメンバー関数
do_positive_sign
を呼び出します。
2)
パブリックメンバー関数。最も派生したクラスのメンバー関数
do_negative_sign
を呼び出します。
3)
正の通貨値の書式設定に使用される文字列を返します。
3)
負の通貨値の書式設定に使用される文字列を返します。
返される文字列の最初の文字のみが、 pos_format() / neg_format() で示される位置に表示される文字です。残りの文字は、通貨文字列の残りの部分の 後に 表示されます。
特に、negative_signが "-" の場合、書式は "-1.23 €" のように表示される可能性がありますが、negative_signが "()" の場合は "(1.23 €)" のように表示されます。
戻り値
string_type
型の文字列で、正符号または負符号として使用される文字を保持します。
例
このコードを実行
#include <iomanip> #include <iostream> #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 €)
関連項目
|
[virtual]
|
通貨値のフォーマットパターンを提供する
(仮想保護メンバー関数) |