money_get::do_get
通貨値を表す文字のシーケンスから抽出する数値という名前の仮想関数。
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
bool _Intl,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
bool _Intl,
ios_base& _Iosbase,
ios_base::iostate& _State,
string_type& _Val
) const
パラメーター
_First
変換するシーケンスの開始位置を示す入力反復子。_Last
変換するシーケンスの末尾を示す入力反復子。_Intl
シーケンスで想定される通貨記号の種類を示すブール値: true International 場合、false 各国の場合は。_Iosbase
通貨記号は省略可能であることを示す場合は書式指定フラグ; それ以外の場合は必須です。_State
操作では、成功したかどうかに応じてストリームの状態に適したビットマスクの要素を設定します。_Val
変換されたシーケンスを格納する文字列。
戻り値
通貨入力フィールドを超える最初の要素を示す入力反復子。
解説
最初の仮想で保護されたメンバー関数がいっぱいで、空でない通貨入力フィールドを検証するまでシーケンス_First、[ _Last) で始まる最初に順次要素に一致を試みます。成功した場合はストアを表す数値と、必要に応じて負符号 (–) が付いた 10 個以上の 10 進数のシーケンスにこのフィールドを、string_type のオブジェクト _Valの結果変換します。これはない入力フィールドを超える最初の要素を指定する反復子を返します。それ以外の場合、関数は _Val で空のシーケンスを格納し、_Stateの ios_base::failbit を設定します。これはない有効な入力フィールドの任意のプレフィックスを超える最初の要素を指定する反復子を返します。どちらの場合も、戻り値が _Lastに等しい場合、関数は _Stateの ios_base::eofbit を設定します。
2 番目の仮想で保護されたメンバー関数は 1 番 _Valで評価するストアとその型 long double の値に応じて、署名された桁のシーケンスの変換に成功した場合は、同様に動作します。
通貨入力フィールドの形式は有効な呼び出し use_facet <moneypunct<CharType、intlによって返される ロケールのファセットfac によって決まります >> (iosbase。getloc)。
具体的には、以下の警告があります。
fac。neg_format は、フィールドのコンポーネントが発生する順序を決定します。
fac。curr_symbol は通貨記号を構成する要素のシーケンスを決定します。
fac。positive_sign は正の符号を構成する要素のシーケンスを決定します。
fac。negative_sign は負の符号を構成する要素のシーケンスを決定します。
fac。グループ化 は数字は、小数点の左側にグループ化する方法を決定します。
fac。thousands_sep は、小数点の左側に数字のグループを区切る要素を決定します。
fac。decimal_point には、小数桁の整数小数部を要素を決定します。
fac。frac_digits は、小数点の右側重要な部分の桁数を決定します。より多くの部分の数字を通貨値を解析するとき frac_digitsで、呼ばれるより、do_get は frac_digits の文字は最大で実行した後で分析を停止します。
符号文字列 (fac。negative_sign か fac。positive_signmoney_base::sign ) と同じ要素が書式設定パターン (facに表示されるときに最初の要素のみ一致しますが、複数の要素があります。neg_format)。すべての残りの要素でもない入力フィールドの末尾と一致します。どちらの文字列に関係ない入力フィールドの次の要素に一致する最初の要素がない場合は、符号文字列が空として解釈され、署名は正の数です。
iosbaseの場合は。フラグ &showbase、ゼロ以外の文字列 facです。curr_symbol は money_base::symbol と同じ要素が書式設定パターンでどこで表示されるか一致する必要があります。それ以外 money_base::symbol が書式設定パターンの末尾にある場合は、符号文字列の要素が一致することを、通貨記号が一致しません。それ以外の場合は、通貨記号、ランダムに一致します。
facのインスタンスはありません。thousands_sep はない入力フィールド ( money_base::value と同じ要素が書式設定パターンに表示される場合)、制約が適用されるグループの値の部分には行われません。は、グループの制約でも facによって課しました。grouping が適用されます。結果のシーケンスが下位 fac桁の整数を表すことに注意してください。frac_digits の 10 進数は、小数点の右側見なされます。
任意のマージンは、書式パターンの末尾にある場合以外 money_base::space と同じ要素が書式設定パターンに表示されるときに一致します。それ以外の場合は、内の空白が一致しません。Ch 要素は空白文字と use_facet 場合 <ctype<CharType> > 見なされます (iosbase。getloc)。です。 (ctype_base::space、Ch) は trueです。
使用例
do_getを呼び出す 取得します。の例を参照してください。
必要条件
ヘッダー: <locale>
名前空間: std