Partager via


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 CharTypes à 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