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
, , symbol
value
et 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
, none
puis 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