money_put::do_put
Uma função chamada virtual para converter o número ou cadeia de caracteres a uma seqüência de caracteres que representa um valor monetário.
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
const string_type& _Val
) const;
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
long double _Val
) const;
Parâmetros
_Next
Um iterador que trata o primeiro elemento da cadeia de caracteres inserido._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_Fill
Um caractere que é usado espaçando._Val
Um objeto de cadeia de caracteres a ser convertido.
Valor de retorno
Um iterador de saída endereços que a posição uma além do último elemento gerado.
Comentários
A primeira função de membro protegida virtual gerará elementos seqüenciais que começam em _Next a gerar um campo monetário de saída do objeto _Valde string_type .A seqüência controlada por _Val deve começar com um ou mais dígitos decimais opcionalmente, precedido por um sinal de menos (–), que representa a quantidade.A função retorna um iterador que designa o primeiro elemento além de campo monetário gerado de saída.
A segunda função de membro protegida virtual se comporta o mesmo que o primeiro, exceto que efetivamente o primeiro converte _Val como uma seqüência de dígitos decimais opcionalmente, precedido por um sinal de subtração, então os que converte arranjam em seqüência como.
O formato de um campo monetário de saída é determinado pelo fac de aspecto da localidade retornado pela chamada () use_facet eficiente <moneypunct<CharType, intl> > (iosbase.getloc).
Especificamente:
fac.pos_format determina a ordem em que os componentes do campo são gerados. para um valor não-negativos
fac.negative_format determina a ordem em que os componentes do campo são gerados para um valor negativo.
fac.curr_symbol determina a seqüência de elementos para gerar um símbolo de moeda.
fac.positive_sign determina a seqüência de elementos para gerar um sinal de mais.
fac.negative_sign determina a seqüência de elementos para gerar 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 de todos os dígitos da fração.
fac.frac_digits determina o número de dígitos significativos da fração à direita de um ponto decimal.
Se a cadeia de caracteres de sinal (fac.negative_sign ou fac.positive_sign) tem mais de um elemento, somente o primeiro elemento é gerado quando o elemento igual a money_base::sign aparece no formato padrão (fac.neg_format ou fac.pos_format).Todos os elementos restantes são gerados no final do campo monetário de saída.
Se iosbase.sinalizadores & showbase são diferente de zero, a cadeia de caracteres fac.curr_symbol é gerado quando o elemento igual a money_base::symbol aparece no formato padrão.Caso contrário, nenhum símbolo de moeda é gerado.
Se nenhuma restrição de agrupamento é imposta por fac.grouping (o primeiro elemento tem o valor CHAR_MAX), então quaisquer instâncias de fac.thousands_sep é gerado na parte do valor do campo monetário de saída (onde o elemento igual a money_base::value aparece no formato padrão).Se fac.frac_digits é zero, então nenhuma instância de fac.decimal_point é gerado após os dígitos decimais.Caso contrário, o campo monetário de saída resultante coloca o ordem baixa fac. dígitos defrac_digits a direita do ponto decimal.
O preenchimento ocorre quanto para qualquer campo numérico de saída, exceto que se iosbase.flags & iosbase.interno é diferente de zero, todo o preenchimento interno é gerado quando o elemento igual a money_base::space aparece no formato padrão, se aparece.Caso contrário, o preenchimento interno ocorre antes que a seqüência gerado.o caractere de preenchimento é fill.
As chamadas de função iosbase.width(0) para redefinir a largura do campo como zero.
Exemplo
Consulte o exemplo para colocado, onde a função de membro virtual é chamada por put.
Requisitos
Cabeçalho: <locale>
namespace: STD