numpunct, classe
Modèle de classe qui décrit un objet qui peut servir de facette locale pour décrire les séquences de type CharType
utilisées pour représenter des informations sur la mise en forme et la ponctuation d’expressions numériques et booléennes.
Syntaxe
template <class CharType>
class numpunct : public locale::facet;
Paramètres
CharType
Type utilisé dans un programme pour encoder des caractères dans des paramètres régionaux spécifiques.
Notes
Comme avec n'importe quelle facette de paramètres régionaux, l'ID d'objet statique possède une valeur stockée initiale de zéro. La première tentative d’accès à sa valeur stockée entraîne le stockage d’une valeur positive unique dans id.
Constructeurs
Constructeur | Description |
---|---|
numpunct | Constructeur des objets de type numpunct . |
Typedefs
Nom de type | Description |
---|---|
char_type | Type utilisé pour décrire un caractère utilisé par des paramètres régionaux. |
string_type | Type qui décrit une chaîne contenant des caractères de type CharType . |
Fonctions Membre
Fonction membre | Description |
---|---|
decimal_point | Retourne un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal. |
do_decimal_point | Une fonction membre virtuelle est appelée pour retourner un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal. |
do_falsename | Une fonction membre virtuelle est appelée pour retourner une chaîne à utiliser comme représentation textuelle de la valeur false . |
do_grouping | Fonction membre virtuelle protégée appelée pour retourner une règle spécifique aux paramètres régionaux permettant de déterminer la manière dont les chiffres sont regroupés à gauche de la virgule décimale. |
do_thousands_sep | Une fonction membre virtuelle est appelée pour retourner un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers. |
do_truename | Une fonction membre virtuelle est appelée pour retourner une chaîne à utiliser comme représentation textuelle de la valeur true . |
falsename | Retourne une chaîne à utiliser comme représentation textuelle de la valeur false . |
grouping | Retourne une règle spécifique aux paramètres régionaux pour déterminer la manière dont les chiffres sont regroupés à gauche de la virgule décimale. |
thousands_sep | Retourne un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers. |
truename | Retourne une chaîne à utiliser comme représentation textuelle de la valeur true . |
Spécifications
Header :<locale>
Espace de noms : std
numpunct ::char_type
Type utilisé pour décrire un caractère utilisé par des paramètres régionaux.
typedef CharType char_type;
Notes
Le type est un synonyme du paramètre de modèle CharType.
numpunct ::d ecimal_point
Retourne un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal.
CharType decimal_point() const;
Valeur de retour
Élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal.
Notes
La fonction membre retourne do_decimal_point.
Exemple
// 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
Une fonction membre virtuelle est appelée pour retourner un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal.
virtual CharType do_decimal_point() const;
Valeur de retour
Élément spécifique aux paramètres régionaux devant être utilisé comme séparateur décimal.
Exemple
Consultez l’exemple relatif à decimal_point, où la fonction membre virtuelle est appelée par decimal_point
.
numpunct ::d o_falsename
La fonction membre virtuelle protégée retourne une séquence à utiliser comme représentation textuelle de la valeur false
.
virtual string_type do_falsename() const;
Valeur de retour
Chaîne contenant une séquence à utiliser comme représentation textuelle de la valeur false
.
Notes
La fonction membre retourne la chaîne « false » pour représenter la valeur false
dans tous les paramètres régionaux.
Exemple
Consultez l’exemple relatif à falsename, où la fonction membre virtuelle est appelée par falsename
.
numpunct ::d o_grouping
Fonction membre virtuelle protégée appelée pour retourner une règle spécifique aux paramètres régionaux permettant de déterminer la manière dont les chiffres sont regroupés à gauche de la virgule décimale.
virtual string do_grouping() const;
Valeur de retour
Règle propre aux paramètres régionaux pour déterminer comment les chiffres sont regroupés à gauche de la virgule décimale.
Notes
Cette fonction membre virtuelle protégée retourne une règle spécifique aux paramètres régionaux permettant de déterminer la manière dont les chiffres sont regroupés à gauche de la virgule décimale. L’encodage est le même que pour lconv::grouping.
Exemple
Consultez l’exemple de regroupement, où la fonction membre virtuelle est appelée par grouping
.
numpunct ::d o_thousands_sep
Une fonction membre virtuelle est appelée pour retourner un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers.
virtual CharType do_thousands_sep() const;
Valeur de retour
Retourne un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers.
Notes
La fonction membre virtuelle protégée retourne un élément spécifique aux paramètres régionaux de type CharType
à utiliser comme séparateur de groupe à gauche de n’importe quel point décimal.
Exemple
Consultez l’exemple relatif à group separator, où la fonction membre virtuelle est appelée par thousands_sep
.
numpunct ::d o_truename
Une fonction membre virtuelle est appelée pour retourner une chaîne à utiliser comme représentation textuelle de la valeur true
.
virtual string_type do_truename() const;
Notes
Chaîne à utiliser comme représentation textuelle de la valeur true
.
Tous les paramètres régionaux retournent une chaîne « true » pour représenter la valeur true
.
Exemple
Consultez l’exemple relatif à truename, où la fonction membre virtuelle est appelée par truename
.
numpunct ::falsename
Retourne une chaîne à utiliser comme représentation textuelle de la valeur false
.
string_type falsename() const;
Valeur de retour
Chaîne contenant une séquence de CharType
s à utiliser comme représentation textuelle de la valeur false
.
Notes
La fonction membre retourne la chaîne « false » pour représenter la valeur false
dans tous les paramètres régionaux.
La fonction membre retourne do_falsename.
Exemple
// 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
Retourne une règle spécifique aux paramètres régionaux pour déterminer la manière dont les chiffres sont regroupés à gauche de la virgule décimale.
string grouping() const;
Valeur de retour
Règle propre aux paramètres régionaux pour déterminer comment les chiffres sont regroupés à gauche de la virgule décimale.
Notes
La fonction membre retourne do_grouping.
Exemple
// 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
Constructeur des objets de type numpunct
.
explicit numpunct(size_t _Refs = 0);
Paramètres
_Refs
Valeur entière qui sert à spécifier le type de gestion de la mémoire pour l’objet.
Notes
Les valeurs possibles pour le paramètre _Refs et leur signification sont les suivantes :
0 : la durée de vie de l’objet est gérée par les paramètres régionaux qui le contiennent.
1 : la durée de vie de l’objet doit être gérée manuellement.
> 1 : Ces valeurs ne sont pas définies.
Aucun exemple direct n’est possible, car le destructeur est protégé.
Le constructeur initialise son objet de base avec les paramètres régionaux ::facet(_Refs
).
numpunct ::string_type
Type qui décrit une chaîne contenant des caractères de type CharType.
typedef basic_string<CharType, Traits, Allocator> string_type;
Notes
Le type décrit une spécialisation du modèle de classe basic_string dont les objets peuvent stocker des copies des séquences de ponctuation.
numpunct ::thousands_sep
Retourne un élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers.
CharType thousands_sep() const;
Valeur de retour
Élément spécifique aux paramètres régionaux devant être utilisé comme séparateur des milliers.
Notes
La fonction membre retourne do_thousands_sep.
Exemple
// 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
Retourne une chaîne à utiliser comme représentation textuelle de la valeur true
.
string_type falsename() const;
Valeur de retour
Chaîne à utiliser comme représentation textuelle de la valeur true
.
Notes
La fonction membre retourne do_truename.
Tous les paramètres régionaux retournent une chaîne « true » pour représenter la valeur true
.
Exemple
// 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
Voir aussi
<locale>
facet, classe
Sécurité des threads dans la bibliothèque C++ Standard