Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Extrai um valor numérico de uma seqüência de caracteres que representa um valor monetário.
iter_type get(
iter_type _First,
iter_type _Last,
bool _Intl,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const;
iter_type 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 o que. operações geradas_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
Ambas as funções de membro do_getde retorno (_First,_Last,_Intl, _Iosbase, _State, _Val).
Exemplo
// money_get_get.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
basic_stringstream< char > psz;
psz << use_facet<moneypunct<char, 1> >(loc).curr_symbol() << "-1.000,56";
basic_stringstream< char > psz2;
psz2 << "-100056" << use_facet<moneypunct<char, 1> >(loc).curr_symbol();
ios_base::iostate st = 0;
long double fVal;
psz.flags( psz.flags( )|ios_base::showbase );
// Which forced the READING the currency symbol
psz.imbue(loc);
use_facet < money_get < char > >( loc ).
get( basic_istream<char>::_Iter( psz.rdbuf( ) ),
basic_istream<char>::_Iter( 0 ), true, psz, st, fVal );
if ( st & ios_base::failbit )
cout << "money_get(" << psz.str( ) << ", intl = 1) FAILED"
<< endl;
else
cout << "money_get(" << psz.str( ) << ", intl = 1) = "
<< fVal/100.0 << endl;
use_facet < money_get < char > >( loc ).
get(basic_istream<char>::_Iter(psz2.rdbuf( )),
basic_istream<char>::_Iter(0), false, psz2, st, fVal);
if ( st & ios_base::failbit )
cout << "money_get(" << psz2.str( ) << ", intl = 0) FAILED"
<< endl;
else
cout << "money_get(" << psz2.str( ) << ", intl = 0) = "
<< fVal/100.0 << endl;
};
A saída de exemplo
Se você executar o Windows 2000 ou anterior, você terá essa saída:
money_get(DEM-1.000,56, intl = 1) = -1000.56
money_get(-100056DM, intl = 0) = -1000.56
Se você executar o Windows XP, você terá essa saída:
money_get(EUR-1.000,56, intl = 1) = -1000.56
money_get(-100056EUR, intl = 0) = -1000.56
Requisitos
Cabeçalho: <locale>
namespace: STD