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
輸入定址 Iterator 要轉換之序列的開頭。_Last
輸入定址 Iterator 要轉換之序列的結尾。_Intl
指示貨幣符號型別布林值所需的順序: true ,如果國際化, false ,如果外部內容。_Iosbase
的格式旗標,當設定指示貨幣符號是選擇性的;否則,需要。_State
設定資料流的狀態的適當的位元遮罩項目,根據可能選擇作業可能會成功。_Val
存放已轉換的字串。
傳回值
處理輸入的 Iterator 指向貨幣輸入欄位以外的第一個項目。
備註
第一個受保護的虛擬成員函式會嘗試比對開始先序列 [_First, _Last) 的順序元件時,才會辨識的完整,非空白的貨幣輸入欄位。 如果成功,則將這個欄位轉換減號,選擇性的一個或多個十進位數字序列 (–) 之後,表示數量和儲存 string_type 物件 _Val的結果。 它會傳回指定以貨幣輸入欄位以外的 Iterator 第一個項目。 如果不是,函式在 _Val 儲存空序列和設定 _State的 ios_base::failbit 。 它會傳回指定以有效的貨幣輸入欄位的所有前置字元以外的 Iterator 第一個項目。 在任何情況下,則為,如果傳回值等於 _Last,函式將在 _State的 ios_base::eofbit 。
第二個受保護的虛擬成員函式一般作業在 _Val值的第一個與相同,但有一點例外,就是,如果轉換成功則選擇性地帶正負號數字序列轉換成型別 long double 的值和存放區。
地區設定 Facet相依於貨幣輸入欄位的有效格式的呼叫所傳回的facuse_facet <moneypunct<CharType, intl>> (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 字元之後。
如果 sign (fac字串。negative_sign 或 fac。positive_sign) 有一個以上的項目,在中,只有第一個項目相符項目等於 money_base::sign 出現在格式模式中的位置 (fac。neg_format)。 其餘項目會符合貨幣輸入資料行結尾。 如果兩個字串並不會在貨幣輸入欄位與下一個項目的第一個項目,簽署字串會視為是空的,而且這個符號是正數。
如果 iosbase。旗標 &showbase 不為零的字串, fac。curr_symbol 必須符合項目等於 money_base::symbol 出現在格式模式中。 則為,否則為,表示 money_base::symbol 出現在格式模式比對結尾,,和,如果 sign 字串中的項目不相符,仍要貨幣符號不相符。 否則,貨幣符號選擇性地相符。
如果 fac沒有執行個體。在thousands_sep 貨幣輸入欄位的值部分結果 (其中項目等於 money_base::value 出現在格式模式),就不會群組的條件約束會影響。 否則,所有群組的條件約束。 fac施加了。grouping 付諸執行。 請注意產生的數字序列代表低序位 fac的整數。frac_digits 十進位數字為小數點右邊列入考量。
選擇性泛空白字元相符項目等於 money_base::space 出現在格式模式的位置,以及格式模式比對結尾之外,則為,如果它出現在中。 否則,內部泛空白字元不相符。 項目 ch 視為泛空白字元,如果 use_facet <ctype<CharType> > (iosbase。getloc)。是(ctype_base::space, ch) 是 true。
範例
為 取得"範例"一節,呼叫 do_get。
需求
標題: <locale>
命名空間: std