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<CharTypeintl>> (iosbasegetloc)。

尤其是:

  • facneg_format 決定資料行元件中發生的順序。

  • faccurr_symbol 判斷撰寫貨幣符號之項目的序列。

  • facpositive_sign 判斷撰寫正號項目的序列。

  • facnegative_sign 判斷撰寫一個負號項目的序列。

  • fac群組 判斷數字如何在任何小數點的左側進行分組。

  • facthousands_sep 判斷在任何小數點左邊分隔數字群組的項目。

  • facdecimal_point 判斷小數位數分隔整數數字的項目。

  • facfrac_digits 任何小數點右邊判斷有效的小數位數數目。在剖析具有更多的小數位數貨幣數量小於用於 frac_digits時呼叫, do_get 停止剖析會消耗最多 frac_digits 字元之後。

如果 sign (fac字串。negative_signfacpositive_sign) 有一個以上的項目,在中,只有第一個項目相符項目等於 money_base::sign 出現在格式模式中的位置 (facneg_format)。其餘項目會符合貨幣輸入資料行結尾。如果兩個字串並不會在貨幣輸入欄位與下一個項目的第一個項目,簽署字串會視為是空的,而且這個符號是正數。

如果 iosbase旗標 &showbase 不為零的字串, faccurr_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> > (iosbasegetloc)。(ctype_base::spacech) 是 true

範例

取得"範例"一節,呼叫 do_get

需求

標題: <locale>

命名空間: std

請參閱

參考

money_get Class