money_put::do_put
Une fonction virtuelle appelée pour convertir le nombre ou une chaîne à une séquence de caractères qui représente une valeur monétaire.
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
const string_type& _Val
) const;
virtual iter_type do_put(
iter_type _Next,
bool _Intl,
ios_base& _Iosbase,
CharType _Fill,
long double _Val
) const;
Paramètres
_Next
Un itérateur adressant le premier élément de la chaîne insérée._Intl
Une valeur booléenne indiquant le type de symbole monétaire attendu dans la séquence : true s'int, false si domestique._Iosbase
Une balise de format qui lorsque la valeur indique que le symbole monétaire est facultatif ; sinon, il est requis_Fill
Un caractère utilisé pour l'espacement._Val
Un objet chaîne à convertir.
Valeur de retour
Un itérateur de sortie les adresses que la position une au delà de le dernier élément est produites.
Notes
La première fonction membre virtuelle protégée génère les éléments séquentiels en commençant à _Next à produire un champ monétaire de sortie de l'objet _Valde string_type .La séquence contrôlée par _Val doit commencer par un ou plusieurs chiffres décimaux, éventuellement précédés par un signe moins (–), qui représente le montant.La fonction retourne un itérateur qui indique le premier élément au delà de le champ monétaire généré de sortie.
La deuxième fonction membre virtuelle protégée se comporte de la même manière que le premier, sauf qu'il efficacement les premiers convertis _Val à une séquence de chiffres décimaux, éventuellement précédée par un signe moins, puis convertit les qui ordonnancent comme ci-dessus.
Le format d'un champ monétaire de sortie est déterminé par le fac de facette de paramètres régionaux retourné par l'appel (efficace) use_facet <moneypunct<CharType, international> > (iosbase.getloc).
Plus précisément :
fac.pos_format détermine l'ordre dans lequel les composants du champ sont générés pour une valeur négative.
fac.negative_format détermine l'ordre dans lequel les composants du champ sont générés pour une valeur négative.
fac.curr_symbol détermine la séquence d'éléments à générer pour un symbole monétaire.
fac.positive_sign détermine la séquence d'éléments à générer pour un signe positif.
fac.negative_sign détermine la séquence d'éléments à générer pour un signe négatif.
fac.regroupement détermine comment les chiffres sont regroupés à gauche d'une virgule décimale.
fac.thousands_sep détermine l'élément qui sépare les groupes de chiffres à gauche d'une virgule décimale.
fac.decimal_point détermine l'élément qui sépare les chiffres entiers de tous les chiffres de fraction.
fac.frac_digits détermine le nombre de chiffres de fraction importante à droite d'une virgule décimale.
Si la chaîne de signe (fac.negative_sign ou fac.positive_sign) a plusieurs éléments, seul le premier élément est généré lorsque l'élément égal à money_base::sign apparaît dans le modèle de format (fac.neg_format ou fac.pos_format).Tous les éléments restants sont générés à la fin de le champ monétaire de sortie.
Si iosbase.balises et showbase est différent de zéro, la chaîne fac.curr_symbol est généré lorsque l'élément égal à money_base::symbol apparaît dans le modèle de format.Sinon, aucun symbole monétaire n'est généré.
Si aucune contrainte de regroupement n'est appliquée par fac.grouping (premier élément a la valeur CHAR_MAX), aucune instances de fac.thousands_sep sont générés dans la partie de valeur du champ monétaire de sortie (où l'élément égal à money_base::value apparaît dans le modèle de format).Si fac.frac_digits est zéro, aucune instance de fac.decimal_point est généré après les chiffres décimaux.Sinon, le champ monétaire résultant de sortie définit facde poids faible. chiffres décimaux d'frac_digits à droite de la virgule décimale.
Le remplissage se produit comme pour tout champ numérique de sortie, sauf si iosbase.flags et iosbase.interne est différent de zéro, toute marge intérieure interne est généré lorsque l'élément égal à money_base::space apparaît dans le modèle de format, s'il apparaît.Sinon, le remplissage interne se produit avant que la séquence générée.Le caractère de remplissage est fill.
Les appels de fonction iosbase.largeur(0) pour réinitialiser la largeur du champ à zéro.
Exemple
Consultez l'exemple pour mettez, où la fonction membre virtuelle est appelée par put.
Configuration requise
en-tête : <locale>
l'espace de noms : DST