Classe numpunct

Modello di classe che descrive un oggetto che può fungere da facet locale per descrivere le sequenze di tipo CharType utilizzate per rappresentare informazioni sulla formattazione e la punteggiatura delle espressioni numeriche e booleane.

Sintassi

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

Parametri

CharType
Tipo utilizzato all'interno di un programma per codificare i caratteri delle impostazioni locali.

Osservazioni:

Come in qualsiasi facet delle impostazioni locali, l'ID dell'oggetto statico ha un valore archiviato iniziale uguale a zero. Il primo tentativo di accedere a tale valore archiviato consente di archiviare un valore positivo univoco in id.

Costruttori

Costruttore Descrizione
numpunct Costruttore per oggetti di tipo numpunct.

Typedef

Nome tipo Descrizione
char_type Tipo utilizzato per descrivere un carattere utilizzato dalle impostazioni locali.
string_type Tipo che descrive una stringa contenente caratteri di tipo CharType.

Funzioni membro

Funzione membro Descrizione
decimal_point Restituisce un elemento specifico delle impostazioni locali da utilizzare come virgola decimale.
do_decimal_point Funzione membro virtuale protetta chiamata per restituire un elemento specifico delle impostazioni locali da utilizzare come virgola decimale.
do_falsename Funzione membro virtuale protetta chiamata per restituire una stringa da utilizzare come rappresentazione testo del valore false.
do_grouping Funzione membro virtuale protetta chiamata per restituire una regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra di una virgola decimale.
do_thousands_sep Funzione membro virtuale protetta chiamata per restituire un elemento specifico delle impostazioni locali da utilizzare come separatore delle migliaia.
do_truename Funzione membro virtuale protetta chiamata per restituire una stringa da utilizzare come rappresentazione testo del valore true.
falsename Restituisce una stringa da utilizzare come rappresentazione testo del valore false.
grouping Restituisce una regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra della virgola decimale.
thousands_sep Restituisce un elemento specifico delle impostazioni locali da utilizzare come separatore delle migliaia.
truename Restituisce una stringa da utilizzare come rappresentazione testo del valore true.

Requisiti

Intestazione:<impostazioni locali>

Spazio dei nomi: std

numpunct::char_type

Tipo utilizzato per descrivere un carattere utilizzato dalle impostazioni locali.

typedef CharType char_type;

Osservazioni:

Il tipo è un sinonimo del parametro di modello CharType.

numpunct::d ecimal_point

Restituisce un elemento specifico delle impostazioni locali da utilizzare come virgola decimale.

CharType decimal_point() const;

Valore restituito

Elemento specifico delle impostazioni locali da usare come virgola decimale.

Osservazioni:

La funzione membro restituisce do_decimal_point.

Esempio

// 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_decimal_point

Funzione membro virtuale protetta chiamata per restituire un elemento specifico delle impostazioni locali da utilizzare come virgola decimale.

virtual CharType do_decimal_point() const;

Valore restituito

Elemento specifico delle impostazioni locali da usare come virgola decimale.

Esempio

Vedere l'esempio relativo a decimal_point, in cui la funzione membro virtuale viene chiamata da decimal_point.

numpunct::d o_falsename

La funzione membro virtuale protetta restituisce una sequenza da utilizzare come rappresentazione di testo del valore false.

virtual string_type do_falsename() const;

Valore restituito

Stringa contenente una sequenza da utilizzare come rappresentazione testuale del valore false.

Osservazioni:

La funzione membro restituisce la stringa "false" per rappresentare il valore false in tutte le impostazioni locali.

Esempio

Vedere l'esempio relativo a falsename, in cui la funzione membro virtuale viene chiamata da falsename.

numpunct::d o_grouping

Funzione membro virtuale protetta chiamata per restituire una regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra di una virgola decimale.

virtual string do_grouping() const;

Valore restituito

Regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra della virgola decimale.

Osservazioni:

La funzione membro virtuale protetta restituisce una regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra di un separatore decimale. La codifica è uguale a quella per lconv::grouping.

Esempio

Vedere l'esempio per il raggruppamento, in cui la funzione membro virtuale viene chiamata da grouping.

numpunct::d o_thousands_sep

Funzione membro virtuale protetta chiamata per restituire un elemento specifico delle impostazioni locali da utilizzare come separatore delle migliaia.

virtual CharType do_thousands_sep() const;

Valore restituito

Restituisce un elemento specifico delle impostazioni locali da utilizzare come separatore delle migliaia.

Osservazioni:

La funzione membro virtuale protetta restituisce un elemento specifico delle impostazioni locali di tipo CharType da utilizzare come separatore di gruppo a sinistra di qualsiasi separatore decimale.

Esempio

Vedere l'esempio relativo a thousands_sep, in cui la funzione membro virtuale viene chiamata da thousands_sep.

numpunct::d o_truename

Funzione membro virtuale protetta chiamata per restituire una stringa da utilizzare come rappresentazione testo del valore true.

virtual string_type do_truename() const;

Osservazioni:

Stringa da utilizzare come rappresentazione testuale del valore true.

Tutte le impostazioni locali restituiscono una stringa "true" per rappresentare il valore true.

Esempio

Vedere l'esempio relativo a truename, in cui la funzione membro virtuale viene chiamata da truename.

numpunct::falsename

Restituisce una stringa da utilizzare come rappresentazione testo del valore false.

string_type falsename() const;

Valore restituito

Stringa contenente una sequenza di CharTypes da utilizzare come rappresentazione testuale del valore false.

Osservazioni:

La funzione membro restituisce la stringa "false" per rappresentare il valore false in tutte le impostazioni locali.

La funzione membro restituisce do_falsename.

Esempio

// 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::grouping

Restituisce una regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra della virgola decimale.

string grouping() const;

Valore restituito

Regola specifica delle impostazioni locali per determinare la modalità di raggruppamento delle cifre a sinistra della virgola decimale.

Osservazioni:

La funzione membro restituisce do_grouping.

Esempio

// 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

Costruttore per oggetti di tipo numpunct.

explicit numpunct(size_t _Refs = 0);

Parametri

_Refs
Valore Integer che consente di specificare il tipo di gestione della memoria per l'oggetto.

Osservazioni:

I valori possibili per il parametro _Refs e il loro significato sono:

  • 0: la durata dell'oggetto è gestita dalle impostazioni locali che lo contengono.

  • 1: la durata dell'oggetto deve essere gestita manualmente.

  • > 1: questi valori non sono definiti.

Non è possibile fornire esempi diretti, poiché il distruttore è protetto.

Il costruttore inizializza l'oggetto di base con locale::facet(_Refs).

numpunct::string_type

Tipo che descrive una stringa contenente caratteri di tipo CharType.

typedef basic_string<CharType, Traits, Allocator> string_type;

Osservazioni:

Il tipo descrive una specializzazione del modello di classe basic_string i cui oggetti possono archiviare copie delle sequenze di punteggiatura.

numpunct::thousands_sep

Restituisce un elemento specifico delle impostazioni locali da utilizzare come separatore delle migliaia.

CharType thousands_sep() const;

Valore restituito

Elemento specifico delle impostazioni locali da usare come separatore delle migliaia.

Osservazioni:

La funzione membro restituisce do_thousands_sep.

Esempio

// 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

Restituisce una stringa da utilizzare come rappresentazione testo del valore true.

string_type falsename() const;

Valore restituito

Stringa da utilizzare come rappresentazione testuale del valore true.

Osservazioni:

La funzione membro restituisce do_truename.

Tutte le impostazioni locali restituiscono una stringa "true" per rappresentare il valore true.

Esempio

// 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

Vedi anche

<impostazioni locali>
Classe facet
Thread Safety in the C++ Standard Library (Sicurezza dei thread nella libreria standard C++)