Compartilhar via


Classe numpunct

Um modelo de classe que descreve um objeto que pode servir como uma faceta de local para descrever as sequências do tipo CharType usadas para representar informações sobre a formatação e pontuação de expressões numéricas e boolianas.

Sintaxe

template <class CharType>
class numpunct : public locale::facet;

Parâmetros

CharType
O tipo usado em um programa para codificar caracteres em uma localidade.

Comentários

Como qualquer faceta de localidade, a ID de objeto estático tem um valor armazenado inicial de zero. A primeira tentativa de acessar seu valor armazenado armazena um valor positivo exclusivo na id.

Construtores

Construtor Descrição
numpunct O construtor para objetos do tipo numpunct.

Typedefs

Nome do tipo Descrição
char_type Um tipo que é usado para descrever um caractere usado por uma localidade.
string_type Um tipo que descreve uma cadeia de caracteres que contém caracteres do tipo CharType.

Funções de membro

Função de membro Descrição
decimal_point Retorna um elemento específico de localidade a ser usado como uma vírgula decimal.
do_decimal_point Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como uma vírgula decimal.
do_falsename Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor false.
do_grouping Uma função membro virtual protegida que é chamada para retornar uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.
do_thousands_sep Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como um separador de milhares.
do_truename Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor true.
falsename Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.
grouping Retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.
thousands_sep Retorna um elemento específico de localidade a ser usado como um separador de milhares.
truename Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Requisitos

Cabeçalho:<locale>

Namespace: std

numpunct::char_type

Um tipo que é usado para descrever um caractere usado por uma localidade.

typedef CharType char_type;

Comentários

O tipo é um sinônimo do parâmetro de modelo CharType.

numpunct::d ponto_ecimal

Retorna um elemento específico de localidade a ser usado como uma vírgula decimal.

CharType decimal_point() const;

Valor de retorno

Um elemento específico de localidade a ser usado como uma vírgula decimal.

Comentários

A função membro retorna do_decimal_point.

Exemplo

// numpunct_decimal_point.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const numpunct <char> &npunct =
   use_facet <numpunct <char> >( loc);
   cout << loc.name( ) << " decimal point "<<
   npunct.decimal_point( ) << endl;
   cout << loc.name( ) << " thousands separator "
   << npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .

numpunct::d o_ponto_decimal

Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como uma vírgula decimal.

virtual CharType do_decimal_point() const;

Valor de retorno

Um elemento específico de localidade a ser usado como uma vírgula decimal.

Exemplo

Veja o exemplo de decimal_point, em que a função membro virtual é chamada por decimal_point.

numpunct::d o_falsename

A função membro virtual protegida retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.

virtual string_type do_falsename() const;

Valor de retorno

Uma cadeia de caracteres que contém uma sequência a ser usada como uma representação de texto do valor false.

Comentários

A função membro retorna a cadeia de caracteres “false” para representar o valor false em todas as localidades.

Exemplo

Veja o exemplo de falsename, em que a função membro virtual é chamada por falsename.

numpunct::d o_grouping

Uma função membro virtual protegida que é chamada para retornar uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

virtual string do_grouping() const;

Valor de retorno

Uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

Comentários

A função membro virtual protegida retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal. A codificação é a mesma usada para lconv::grouping.

Exemplo

Veja o exemplo de grouping, em que a função membro virtual é chamada por grouping.

numpunct::d o_thousands_sep

Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como um separador de milhares.

virtual CharType do_thousands_sep() const;

Valor de retorno

Retorna um elemento específico de localidade a ser usado como um separador de milhares.

Comentários

A função membro virtual protegida retorna um elemento específico de localidade do tipo CharType para ser usado como separador de grupo à esquerda da vírgula decimal.

Exemplo

Veja o exemplo de thousands_sep, em que a função membro virtual é chamada por thousands_sep.

numpunct::d o_truename

Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

virtual string_type do_truename() const;

Comentários

Uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Todas as localidades retornam uma cadeia de caracteres “true” para representar o valor true.

Exemplo

Veja o exemplo de truename, em que a função membro virtual é chamada por truename.

numpunct::falsename

Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.

string_type falsename() const;

Valor de retorno

Uma cadeia de caracteres que contém uma sequência de CharTypes a ser usada como uma representação de texto do valor false.

Comentários

A função membro retorna a cadeia de caracteres “false” para representar o valor false em todas as localidades.

A função de membro retorna do_falsename.

Exemplo

// numpunct_falsename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "English" );

   const numpunct <char> &npunct = use_facet <numpunct <char> >( loc );
   cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
   cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;

   locale loc2( "French" );
   const numpunct <char> &npunct2 = use_facet <numpunct <char> >(loc2);
   cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
   cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false

numpunct::agrupamento

Retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

string grouping() const;

Valor de retorno

Uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

Comentários

A função membro retorna do_grouping.

Exemplo

// numpunct_grouping.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany");

   const numpunct <char> &npunct =
       use_facet < numpunct <char> >( loc );
   for (unsigned int i = 0; i < npunct.grouping( ).length( ); i++)
   {
      cout << loc.name( ) << " international grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(npunct.grouping ( )[i])
           << endl;
   }
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3

numpunct::numpunct

O construtor para objetos do tipo numpunct.

explicit numpunct(size_t _Refs = 0);

Parâmetros

_Refs
Valor inteiro usado para especificar o tipo de gerenciamento de memória do objeto.

Comentários

Os valores possíveis para o parâmetro _Refs e sua significância são:

  • 0: o tempo de vida do objeto é gerenciado pelas localidades que o contêm.

  • 1: o tempo de vida do objeto deve ser gerenciado manualmente.

  • > 1: esses valores não estão definidos.

Nenhum exemplo direto é possível, pois o destruidor está protegido.

O construtor inicializa seu objeto base com locale::facet( _Refs).

numpunct::string_type

Um tipo que descreve uma cadeia de caracteres que contém caracteres do tipo CharType.

typedef basic_string<CharType, Traits, Allocator> string_type;

Comentários

O tipo descreve uma especialização do modelo de classe basic_string cujos objetos podem armazenar cópias das sequências de pontuação.

numpunct::thousands_sep

Retorna um elemento específico de localidade a ser usado como um separador de milhares.

CharType thousands_sep() const;

Valor de retorno

Um elemento específico de localidade a ser usado como um separador de milhares.

Comentários

A função membro retorna do_thousands_sep.

Exemplo

// numpunct_thou_sep.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );

   const numpunct <char> &npunct =
   use_facet < numpunct < char > >( loc );
   cout << loc.name( ) << " decimal point "<<
   npunct.decimal_point( ) << endl;
   cout << loc.name( ) << " thousands separator "
   << npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .

numpunct::truename

Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

string_type falsename() const;

Valor de retorno

Uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Comentários

A função de membro retorna do_truename.

Todas as localidades retornam uma cadeia de caracteres “true” para representar o valor true.

Exemplo

// numpunct_truename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "English" );

   const numpunct < char> &npunct = use_facet <numpunct <char> >( loc );
   cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
   cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;

   locale loc2("French");
   const numpunct <char> &npunct2 = use_facet <numpunct <char> >( loc2 );
   cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
   cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false

Confira também

<locale>
Classe facet
Acesso Thread-Safe na Biblioteca Padrão C++