Compartilhar via


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

Consulte também

Referência

money_put Class