money_get::do_get
Função virtual chamada para extratos um valor numérico de uma seqüência de caracteres que representa um valor monetário.
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
Parâmetros
_First
Iterador de entrada que trata o início da seqüência a ser convertido._Last
Iterador de entrada que trata o final da seqüência a ser convertido._Intl
Um valor boolean que indica o tipo de símbolo de moeda esperado na seqüência: se true internacionais, se false doméstico._Iosbase
Um sinalizador de formato que quando o conjunto indicar que o símbolo de moeda é opcional; caso contrário, exige-se._State
Defina os elementos apropriadas de máscara de bits para o estado de fluxo de acordo com as operações geradas que ou não._Val
Uma cadeia de caracteres que armazena a seqüência convertida.
Valor de retorno
Um iterador de entrada que trata o primeiro elemento além de campo monetário de entrada.
Comentários
A primeira função de membro protegida virtual tenta corresponder aos elementos seqüenciais que começam primeiro na seqüência [_First, _Last) até que reconhece um campo monetário completo, não vazio de entrada.Se com êxito, ele converte este campo como uma seqüência de um ou mais dígitos decimais opcionalmente, precedido por um sinal de subtração (–), representar a quantidade e os armazenamentos o resultado no objeto _Valde string_type .Retorna um iterador que designa o primeiro elemento além de campo monetário de entrada.Caso contrário, a função armazena uma seqüência vazia em _Val e defina ios_base::failbit em _State.Retorna um iterador que designa o primeiro elemento além de qualquer prefixo de um campo monetário válido de entrada.Em ambos os casos, se o valor de retorno é igual _Last, a função define ios_base::eofbit em _State.
A segunda função de membro protegida virtual se comporta o mesmo que o primeiro, exceto que se com êxito o converte a seqüência opcionalmente assinados de dígito um valor do tipo long double e armazena o valor em _Val.
O formato de um campo monetário de entrada é determinado por aspecto da localidadefac retornado pela chamada eficiente use_facet <moneypunct<CharType, intl>> (iosbase.getloc).
Especificamente:
fac.negative_format determina a ordem em que os componentes do campo ocorrem.
fac.curr_symbol determina a seqüência de elementos que constitui um símbolo de moeda.
fac.positive_sign determina a seqüência de elementos que constitui um sinal de mais.
fac.negative_sign determina a seqüência de elementos que constitui um sinal de subtração.
fac.clustering determina como os dígitos à esquerda são agrupados de um ponto decimal.
fac.thousands_sep determina o elemento que separa grupos de dígitos à esquerda de um ponto decimal.
fac.decimal_point determina o elemento que separa os dígitos inteiro dos dígitos da fração.
fac.frac_digits determina o número de dígitos significativos da fração à direita de um ponto decimal.A o analisar uma quantidade monetária com mais dígitos da fração do que são chamados por frac_digits, do_get de para analisar após consumido no máximo de caracteres frac_digits .
Se a cadeia de caracteres de sinal (fac.negative_sign ou fac.positive_sign) tem mais de um elemento, somente o primeiro elemento correspondente é onde o elemento igual a money_base::sign aparece no formato padrão (fac.neg_format).Todos os elementos restantes são correspondidos no final do campo monetário de entrada.Se nenhuma cadeia de caracteres tem um primeiro elemento que corresponde ao seguinte elemento no campo monetário de entrada, a cadeia de caracteres de sinal é necessária como vazia e o sinal for positivo.
Se iosbase.sinalizadores &showbase são diferente de zero, a cadeia de caracteres fac.curr_symbol deve corresponder onde o elemento igual a money_base::symbol aparece no formato padrão.Caso contrário, se money_base::symbol ocorre no final de formato padrão, e se nenhum elemento de cadeia de caracteres de sinal permanece compatível, o símbolo de moeda não é compatível.Caso contrário, o símbolo de moeda é combinado opcionalmente.
Se quaisquer instâncias de fac.thousands_sep ocorre na parte do valor do campo monetário de entrada (onde o elemento igual a money_base::value aparece no formato padrão), nenhum agrupamento que a restrição é aplicada.Caso contrário, todas as restrições de agrupamento aplicada por fac.grouping é aplicada.Observe que a seqüência resultante de dígito representa um número inteiro cujo ordem baixa fac. os dígitos defrac_digits são considerados a direita do ponto decimal.
Espaço em branco é arbitrário correspondente onde o elemento igual a money_base::space aparece no formato padrão, se aparece diferente no final de formato padrão.Caso contrário, nenhum espaço em branco interno é verificado por correspondência.Um elemento ch é considerado o espaço em branco se use_facet <ctype<CharType> >(iosbase.getloc).é(ctype_base::space, ch) é true.
Exemplo
Consulte o exemplo para obter, que chama do_get.
Requisitos
Cabeçalho: <locale>
namespace: STD