money_get::do_get
Funkcję wirtualną do wyodrębnia wartość liczbową z sekwencję znaków, który reprezentuje wartość pieniężną.
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
Parametry
_First
Adresowanie początku sekwencji do konwersji wejściowych iteratora._Last
Adresowanie koniec sekwencji do konwersji wejściowych iteratora._Intl
Wartość logiczna, wskazująca typ oczekiwany w sekwencji symbol waluty: true Jeśli międzynarodowych, false Jeśli krajowych._Iosbase
Flaga format, który podczas zestaw wskazuje, że symbol waluty jest opcjonalny; w przeciwnym razie jest wymagane._State
Ustawia elementy odpowiednie maski stanie strumienia według tego, czy operacje powiodło się lub nie._Val
Ciąg przechowywania sekwencji przekonwertowane.
Wartość zwracana
Wejściowy iteratora adresowania pierwszy element poza pieniężnej pole wejściowe.
Uwagi
Pierwsza funkcja wirtualnego chroniony członek próbuje dopasować kolejne elementy, począwszy od pierwszej sekwencji [_First, _Last) dopóki nie rozpoznał kompletne, nonempty pieniężnej wejściowe pole.Jeśli się powiedzie, go konwertuje to pole sekwencja jednego lub więcej cyfr dziesiętnych, opcjonalnie poprzedzone znakiem minus (–), do reprezentowania kwoty i zapisuje wynik w string_type obiektu _Val.Zwraca iterację wyznaczające pierwszy element poza pieniężnej pole wejściowe.W przeciwnym wypadku funkcja przechowuje pusty kolejność, w _Val i ios_base::failbit w _State.Zwraca iterację wyznaczające pierwszy element poza każdy prefiks prawidłowe pieniężnej pole wejściowe.W przypadku, jeśli wartość zwracana jest równe _Last, zestawy funkcji ios_base::eofbit w _State.
Druga funkcja wirtualnego chroniony członek zachowania sam jako pierwszy, z wyjątkiem, że w przypadku powodzenia konwertuje sekwencji opcjonalnie podpisanej cyfry wartość typu long double i zapisanie tej wartości w _Val.
Formatu walutowego pole wejściowe jest określona przez locale aspektfac zwrócony przez wywołanie skuteczne use_facet <moneypunct<CharType, intl>> (iosbase.getloc).
W szczególności:
fac. neg_format określa kolejność, w której występują elementy pola.
fac. curr_symbol Określa sekwencję elementów stanowi symbol waluty.
fac. positive_sign Określa sekwencję elementów stanowi znak dodatni.
fac. negative_sign Określa sekwencję elementów stanowi znakiem minus.
fac. grupowania określa sposób grupowania cyfr po lewej stronie dowolnego przecinka dziesiętnego.
fac. thousands_sep określa element, który oddziela grup cyfr po lewej stronie dowolnego przecinka dziesiętnego.
fac. decimal_point określa element, który oddziela cyfr całkowitą od cyfry ułamka.
fac. frac_digits określa liczbę cyfr znaczących ułamek po prawej stronie przecinka wszelkich.Podczas analizowania kwoty pieniężnej więcej cyfr ułamka niż zostaną zwołane przez frac_digits, do_get zatrzymuje analizowania po zużyciu najwyżej frac_digits znaków.
Jeśli znak ciągu (fac.negative_sign or fac.positive_sign) ma więcej niż jeden element, pierwszy element jest dopasowywane gdzie element równy money_base::sign pojawia się w strukturze format (fac.neg_format).Wszelkie pozostałe elementy są dopasowywane na końcu pieniężnej pole wejściowe.Jeśli ciąg ani pierwszy element, który pasuje do następnego elementu w polu pieniężnej, ciąg znak jest jako pusta i znak jest dodatni.
Jeśli iosbase. flagi &showbase jest niezerowa, ciąg fac.curr_symbol musi odpowiadać, gdy element równy money_base::symbol pojawia się w strukturze formatu.Inaczej, jeśli money_base::symbol występuje na końcu wzorca format i jeżeli nie elementy ciągu znak pozostają do dopasowania, symbol waluty nie występują parzyście.W przeciwnym razie opcjonalnie jest dopasowywane symbol waluty.
Jeśli nie wystąpienia fac.thousands_sep występują w części wartości pieniężnej pole wejściowe (gdzie element równy money_base::value pojawia się w strukturze format), jest nałożone nie ograniczenie grupowania.W przeciwnym razie grupowania ograniczenia nałożone przez fac. grupowania jest wymuszane.Uwaga, że wynikowa sekwencja cyfr stanowi całkowitą których bity fac.frac_digits cyfr dziesiętnych, są uważane za po prawej stronie przecinka dziesiętnego.
Dowolny odstęp jest dopasowywane gdzie element równy money_base::space pojawia się w format wzorca, jeśli jest inne niż koniec wzorka format.W przeciwnym razie są dopasowywane nie światło wewnętrznego.Element ch jest uważana za światło, jeżeli use_facet <ctype<CharType> >(iosbase.getloc).is(ctype_base::space, ch) is true.
Przykład
Zobacz przykład dla uzyskać, który wzywa do_get.
Wymagania
Nagłówek: <locale>
Obszar nazw: std