Namespaces
Variants

std:: lconv

From cppreference.net
Défini dans l'en-tête <clocale>
struct lconv ;

La classe std::lconv contient les règles de formatage numérique et monétaire telles que définies par une locale C. Les objets de cette structure peuvent être obtenus avec std::localeconv . Les membres de std::lconv sont des valeurs de type char et de type char * . Chaque membre char * sauf decimal_point peut pointer vers un caractère nul (c'est-à-dire vers une chaîne C vide). Les membres de type char sont tous des nombres non négatifs, dont chacun peut être CHAR_MAX si la valeur correspondante n'est pas disponible dans la locale C actuelle.

Table des matières

Objets membres

Paramètres de formatage numérique non monétaire

char* decimal_point
le caractère utilisé comme séparateur décimal
(objet membre public)
char* thousands_sep
le caractère utilisé pour séparer les groupes de chiffres avant le séparateur décimal
(objet membre public)
char* grouping
une chaîne dont les éléments indiquent les tailles des groupes de chiffres
(objet membre public)

Paramètres de formatage numérique monétaire

char* mon_decimal_point
le caractère utilisé comme séparateur décimal
(objet membre public)
char* mon_thousands_sep
le caractère utilisé pour séparer les groupes de chiffres avant le séparateur décimal
(objet membre public)
char* mon_grouping
une chaîne dont les éléments indiquent la taille des groupes de chiffres
(objet membre public)
char* positive_sign
une chaîne utilisée pour indiquer une quantité monétaire non négative
(objet membre public)
char* negative_sign
une chaîne utilisée pour indiquer une quantité monétaire négative
(objet membre public)

Paramètres de formatage numérique monétaire local

char* currency_symbol
le symbole utilisé pour la devise dans la locale C actuelle
(objet membre public)
char frac_digits
le nombre de chiffres après la virgule décimale à afficher dans une quantité monétaire
(objet membre public)
char p_cs_precedes
1 si currency_symbol est placé avant une valeur non négative, 0 si après
(objet membre public)
char n_cs_precedes
1 si currency_symbol est placé avant une valeur négative, 0 si après
(objet membre public)
char p_sep_by_space
indique la séparation entre currency_symbol , positive_sign , et la valeur monétaire non négative
(objet membre public)
char n_sep_by_space
indique la séparation entre currency_symbol , negative_sign , et la valeur monétaire négative
(objet membre public)
char p_sign_posn
indique la position de positive_sign dans une valeur monétaire non négative
(objet membre public)
char n_sign_posn
indique la position de negative_sign dans une valeur monétaire négative
(objet membre public)

Paramètres de formatage numérique monétaire international

char* int_curr_symbol
la chaîne utilisée comme nom de devise internationale dans les paramètres régionaux C actuels
(objet membre public)
char int_frac_digits
le nombre de chiffres après la virgule décimale à afficher dans une quantité monétaire internationale
(objet membre public)
char int_p_cs_precedes
(C++11)
1 si int_curr_symbol est placé avant une valeur monétaire internationale non négative, 0 si après
(objet membre public)
char int_n_cs_precedes
(C++11)
1 si int_curr_symbol est placé avant une valeur monétaire internationale négative, 0 si après
(objet membre public)
char int_p_sep_by_space
(C++11)
indique la séparation de int_curr_symbol , positive_sign , et la valeur monétaire internationale non négative
(objet membre public)
char int_n_sep_by_space
(C++11)
indique la séparation de int_curr_symbol , negative_sign , et la valeur monétaire internationale négative
(objet membre public)
char int_p_sign_posn
(C++11)
indique la position de positive_sign dans une valeur monétaire internationale non négative
(objet membre public)
char int_n_sign_posn
(C++11)
indique la position de negative_sign dans une valeur monétaire internationale négative
(objet membre public)


Les caractères des chaînes C pointées par grouping et mon_grouping sont interprétés selon leurs valeurs numériques. Lorsque le caractère de fin ' \0 ' est rencontré, la dernière valeur vue est supposée se répéter pour le reste des chiffres. Si CHAR_MAX est rencontré, aucun chiffre supplémentaire n'est groupé. Le groupement typique de trois chiffres à la fois est " \003 " .

Les valeurs de p_sep_by_space , n_sep_by_space , int_p_sep_by_space , int_n_sep_by_space sont interprétées comme suit :

0 aucun espace ne sépare le symbole monétaire et la valeur
1 le signe reste collé au symbole monétaire, la valeur est séparée par un espace
2 le signe reste collé à la valeur. Le symbole monétaire est séparé par un espace

Les valeurs de p_sign_posn , n_sign_posn , int_p_sign_posn , int_n_sign_posn sont interprétées comme suit :

0 des parenthèses autour de la valeur et du symbole monétaire sont utilisées pour représenter le signe
1 signe avant la valeur et le symbole monétaire
2 signe après la valeur et le symbole monétaire
3 signe avant le symbole monétaire
4 signe après le symbole monétaire

Exemple

#include <clocale>
#include <iostream>
int main()
{
    std::setlocale(LC_ALL, "ja_JP.UTF-8");
    std::lconv* lc = std::localeconv();
    std::cout << "Japanese currency symbol: " << lc->currency_symbol
              << '(' << lc->int_curr_symbol << ")\n";
}

Sortie :

Japanese currency symbol: ¥(JPY )

Voir aussi

interroge les détails de formatage numérique et monétaire de la locale actuelle
(fonction)
définit les règles de ponctuation numérique
(modèle de classe)
définit les paramètres de formatage monétaire utilisés par std::money_get et std::money_put
(modèle de classe)