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 CharType
s 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++)