Partager via


moneypunct, classe

Le modèle de classe décrit un objet qui peut servir de facette de paramètres régionaux pour décrire les séquences de type CharType utilisées pour représenter un champ d’entrée monétaire ou un champ de sortie monétaire. Si le paramètre de modèle Intl a la valeur True, les conventions internationales sont observées.

Syntaxe

template <class CharType, bool Intl>
class moneypunct;

Paramètres

CharType
Type utilisé dans le cadre d'un programme pour encoder des caractères.

Intl
Indicateur spécifiant si les conventions internationales doivent être respectées.

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.

L’objet statique const intl stocke la valeur du paramètre de modèle Intl.

Constructeurs

Constructeur Description
moneypunct Constructeur d'objets de type moneypunct.

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
curr_symbol Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole monétaire.
decimal_point Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de virgule décimale.
do_curr_symbol Fonction membre virtuelle protégée qui retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole monétaire.
do_decimal_point Fonction membre virtuelle protégée qui est appelée pour retourner une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de virgule décimale.
do_frac_digits Cette fonction membre virtuelle protégée retourne un compte spécifique aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.
do_grouping 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.
do_neg_format Fonction membre virtuelle protégée qui est appelée pour retourner une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants négatifs.
do_negative_sign Fonction membre virtuelle protégée qui est appelée pour retourner une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe négatif.
do_pos_format Fonction membre virtuelle protégée qui est appelée pour retourner une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants positifs.
do_positive_sign Fonction membre virtuelle protégée qui est appelée pour retourner une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe positif.
do_thousands_sep Fonction membre virtuelle protégée qui est appelée pour retourner une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de séparateur des milliers.
frac_digits Retourne un compte spécifique aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.
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.
neg_format Retourne une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants négatifs.
negative_sign Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe négatif.
pos_format Retourne une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants positifs.
positive_sign Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe positif.
thousands_sep Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de séparateur des milliers.

Spécifications

Header :<locale>

Espace de noms : std

moneypunct ::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.

moneypunct ::curr_symbol

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole monétaire.

string_type curr_symbol() const;

Valeur de retour

Chaîne contenant le symbole monétaire.

Notes

La fonction membre retourne do_curr_symbol.

Exemple

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

   const moneypunct < char, true > &mpunct = use_facet < moneypunct < char, true > >(loc);
   cout << loc.name( ) << " international currency symbol "<<  mpunct.curr_symbol( ) << endl;

   const moneypunct < char, false> &mpunct2 = use_facet < moneypunct < char, false> >(loc);
   cout << loc.name( ) << " domestic currency symbol "<<  mpunct2.curr_symbol( ) << endl;
};

moneypunct ::d ecimal_point

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de virgule décimale.

CharType decimal_point() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme symbole de virgule décimale.

Notes

La fonction membre retourne do_decimal_point.

Exemple

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

   const moneypunct < char, true > &mpunct = use_facet
      < moneypunct < char, true > >(loc);
   cout << loc.name( ) << " international decimal point "
        << mpunct.decimal_point( ) << endl;

   const moneypunct < char, false> &mpunct2 = use_facet
      < moneypunct < char, false> >(loc);
   cout << loc.name( ) << " domestic decimal point "
        << mpunct2.decimal_point( ) << endl;
}
German_Germany.1252 international decimal point ,
German_Germany.1252 domestic decimal point ,

moneypunct ::d o_curr_symbol

Fonction membre virtuelle protégée qui retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole monétaire.

virtual string_type do_curr_symbol() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme symbole de virgule décimale.

Exemple

Consultez l’exemple relatif à curr_symbol, où la fonction membre virtuelle est appelée par curr_symbol.

moneypunct ::d o_decimal_point

Fonction membre virtuelle protégée qui retourne une séquence propre aux paramètres régionaux d’éléments à utiliser comme symbole de virgule décimale.

virtual CharType do_decimal_point() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme symbole de virgule décimale.

Exemple

Consultez l’exemple relatif à decimal_point, où la fonction membre virtuelle est appelée par decimal_point.

moneypunct ::d o_frac_digits

Fonction membre virtuelle protégée qui retourne un décompte propre aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.

virtual int do_frac_digits() const;

Valeur de retour

Décompte propre aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.

Exemple

Consultez l’exemple relatif à frac_digits, où la fonction membre virtuelle est appelée par frac_digits.

moneypunct ::d o_grouping

Fonction membre virtuelle protégée qui retourne une règle propre aux paramètres régionaux permettant de déterminer comment 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.

Exemple

Consultez l’exemple de regroupement, où la fonction membre virtuelle est appelée par grouping.

moneypunct ::d o_neg_format

Fonction membre virtuelle protégée qui est appelée pour retourner une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants négatifs.

virtual pattern do_neg_format() const;

Valeur de retour

La fonction membre virtuelle protégée retourne une règle propre aux paramètres régionaux pour déterminer comment générer un champ de sortie monétaire pour un montant négatif. Chacun des quatre éléments de pattern::field peut avoir les valeurs :

  • none pour faire correspondre zéro ou plus d’espaces ou ne rien générer.

  • sign pour faire correspondre ou générer un signe positif ou négatif.

  • space pour faire correspondre zéro ou plusieurs espaces ou générer un espace.

  • symbol pour faire correspondre ou générer un symbole monétaire.

  • value pour faire correspondre ou générer une valeur monétaire.

Les composants d’un champ de sortie monétaire sont générés et les composants d’un champ d’entrée monétaire sont mis en correspondance dans l’ordre dans lequel ces éléments apparaissent pattern::field. Chacune des valeurs sign, , symbolvalueet l’une ou space l’autre none doit apparaître exactement une fois. La valeur none ne doit pas apparaître en premier. La valeur space ne doit pas apparaître en premier ou en dernier. Si Intl c’est vrai, l’ordre est symbol, sign, nonepuis value.

Version du modèle de moneypunct< CharType, Intl > retour {money_base::symbol, money_base::sign, money_base::value, money_base::none}.

Exemple

Consultez l’exemple relatif à neg_format, où la fonction membre virtuelle est appelée par neg_format.

moneypunct ::d o_negative_sign

Fonction membre virtuelle protégée qui est appelée pour retourner une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe négatif.

virtual string_type do_negative_sign() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme signe négatif.

Exemple

Consultez l’exemple relatif à negative_sign, où la fonction membre virtuelle est appelée par negative_sign.

moneypunct ::d o_pos_format

Fonction membre virtuelle protégée qui est appelée pour retourner une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants positifs.

virtual pattern do_pos_format() const;

Valeur de retour

La fonction membre virtuelle protégée retourne une règle propre aux paramètres régionaux pour déterminer comment générer un champ de sortie monétaire pour un montant positif. (Il détermine également comment faire correspondre les composants d’un champ d’entrée monétaire.) L’encodage est le même que pour do_neg_format.

Version du modèle de moneypunct< CharType, Inputlterator > retour { money_base::symbol, money_base::sign, money_base::value, money_base::none }.

Exemple

Consultez l’exemple relatif à pos_format, où la fonction membre virtuelle est appelée par pos_format.

moneypunct ::d o_positive_sign

Fonction membre virtuelle protégée qui retourne une séquence propre aux paramètres régionaux d’éléments à utiliser comme signe positif.

virtual string_type do_positive_sign() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme signe positif.

Exemple

Consultez l’exemple relatif à positive_sign, où la fonction membre virtuelle est appelée par positive_sign.

moneypunct ::d o_thousands_sep

Fonction membre virtuelle protégée qui retourne un élément propre aux paramètres régionaux à utiliser comme séparateur de groupes à gauche de la virgule décimale.

virtual CharType do_thousands_sep() const;

Valeur de retour

Élément propre aux paramètres régionaux à utiliser comme séparateur de groupes à gauche de la virgule décimale.

Exemple

Consultez l’exemple relatif à group separator, où la fonction membre virtuelle est appelée par thousands_sep.

moneypunct ::frac_digits

Retourne un compte spécifique aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.

int frac_digits() const;

Valeur de retour

Décompte propre aux paramètres régionaux du nombre de chiffres à afficher à droite de la virgule décimale.

Notes

La fonction membre retourne do_frac_digits.

Exemple

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

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true> >(loc);
   for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " international grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " international frac_digits\n to the right"
        << " of the radix character: "
        << mpunct.frac_digits ( ) << endl << endl;

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

German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2

moneypunct ::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

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

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true> >( loc );
   for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
   {
      cout << loc.name( ) << " international grouping:\n the "
           << i <<"th group to the left of the radix character "
           << "is of size " << (int)(mpunct.grouping ( )[i])
           << endl;
   }
   cout << loc.name( ) << " international frac_digits\n to the right"
        << " of the radix character: "
        << mpunct.frac_digits ( ) << endl << endl;

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

German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2

moneypunct ::moneypunct

Constructeur d'objets de type moneypunct.

explicit moneypunct(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 locale::facet(_ Refs).

moneypunct ::neg_format

Retourne une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants négatifs.

pattern neg_format() const;

Valeur de retour

Règle propre aux paramètres régionaux pour mettre en forme les sorties avec des montants négatifs.

Notes

La fonction membre retourne do_neg_format.

Exemple

// moneypunct_neg_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( ) {
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international negative number format: "
        << mpunct.neg_format( ).field[0]
        << mpunct.neg_format( ).field[1]
        << mpunct.neg_format( ).field[2]
        << mpunct.neg_format( ).field[3] << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic negative number format: "
        << mpunct2.neg_format( ).field[0]
        << mpunct2.neg_format( ).field[1]
        << mpunct2.neg_format( ).field[2]
        << mpunct2.neg_format( ).field[3] << endl;
}

moneypunct ::negative_sign

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe négatif.

string_type negative_sign() const;

Valeur de retour

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe négatif.

Notes

La fonction membre retourne do_negative_sign.

Exemple

// moneypunct_neg_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true> >(loc);
   cout << loc.name( ) << " international negative sign: "
        << mpunct.negative_sign( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic negative sign: "
        << mpunct2.negative_sign( ) << endl;

   locale loc2( "French" );

   const moneypunct <char, true> &mpunct3 =
      use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international negative sign: "
        << mpunct3.negative_sign( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic negative sign: "
        << mpunct4.negative_sign( ) << endl;
};
German_Germany.1252 international negative sign: -
German_Germany.1252 domestic negative sign: -
French_France.1252 international negative sign: -
French_France.1252 domestic negative sign: -

moneypunct ::p os_format

Retourne une règle spécifique aux paramètres régionaux pour mettre en forme les sorties avec des montants positifs.

pattern pos_format() const;

Valeur de retour

Règle propre aux paramètres régionaux pour mettre en forme les sorties avec des montants positifs.

Notes

La fonction membre retourne do_pos_format.

Exemple

// moneypunct_pos_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main() {
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true> >(loc);
   cout << loc.name( ) << " international positive number format: "
        << mpunct.pos_format( ).field[0]
        << mpunct.pos_format( ).field[1]
        << mpunct.pos_format( ).field[2]
        << mpunct.pos_format( ).field[3] << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic positive number format: "
        << mpunct2.pos_format( ).field[0]
        << mpunct2.pos_format( ).field[1]
        << mpunct2.pos_format( ).field[2]
        << mpunct2.pos_format( ).field[3] << endl;
}

moneypunct ::p ositive_sign

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole du signe positif.

string_type positive_sign() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme symbole du signe positif.

Notes

La fonction membre retourne do_positive_sign.

Exemple

// moneypunct_pos_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>

using namespace std;

int main( )
{
   locale loc( "german_germany" );

   const moneypunct <char, true> &mpunct =
      use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international positive sign:"
        << mpunct.positive_sign( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic positive sign:"
        << mpunct2.positive_sign( ) << endl;

   locale loc2( "French" );

   const moneypunct <char, true> &mpunct3 =
      use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international positive sign:"
        << mpunct3.positive_sign( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic positive sign:"
        << mpunct4.positive_sign( ) << endl;
};
German_Germany.1252 international positive sign:
German_Germany.1252 domestic positive sign:
French_France.1252 international positive sign:
French_France.1252 domestic positive sign:

moneypunct ::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.

moneypunct ::thousands_sep

Retourne une séquence spécifique aux paramètres régionaux d'éléments à utiliser comme symbole de séparateur des milliers.

CharType thousands_sep() const;

Valeur de retour

Séquence propre aux paramètres régionaux d’éléments à utiliser comme séparateur des milliers.

Notes

La fonction membre retourne do_thousands_sep.

Exemple

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

   const moneypunct <char, true> &mpunct =
       use_facet <moneypunct <char, true > >(loc);
   cout << loc.name( ) << " international thousands separator: "
        << mpunct.thousands_sep( ) << endl;

   const moneypunct <char, false> &mpunct2 =
      use_facet <moneypunct <char, false> >(loc);
   cout << loc.name( ) << " domestic thousands separator: "
        << mpunct2.thousands_sep( ) << endl << endl;

   locale loc2( "english_canada" );

   const moneypunct <char, true> &mpunct3 =
       use_facet <moneypunct <char, true> >(loc2);
   cout << loc2.name( ) << " international thousands separator: "
        << mpunct3.thousands_sep( ) << endl;

   const moneypunct <char, false> &mpunct4 =
      use_facet <moneypunct <char, false> >(loc2);
   cout << loc2.name( ) << " domestic thousands separator: "
        << mpunct4.thousands_sep( ) << endl;
}
German_Germany.1252 international thousands separator: .
German_Germany.1252 domestic thousands separator: .

English_Canada.1252 international thousands separator: ,
English_Canada.1252 domestic thousands separator: ,

Voir aussi

<locale>
Sécurité des threads dans la bibliothèque C++ Standard