Udostępnij za pośrednictwem


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

Zobacz też

Informacje

money_get Class