lconv
|
Défini dans l'en-tête
<locale.h>
|
||
|
struct
lconv
;
|
||
La structure
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
localeconv
. Les membres de
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 monnaie 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
(C99)
|
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
(C99)
|
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
(C99)
|
indique la séparation entre
int_curr_symbol
,
positive_sign
et la valeur monétaire internationale non négative
(objet membre public) |
|
char
int_n_sep_by_space
(C99)
|
indique la séparation entre
int_curr_symbol
,
negative_sign
et la valeur monétaire internationale négative
(objet membre public) |
|
char
int_p_sign_posn
(C99)
|
indique la position de
positive_sign
dans une valeur monétaire internationale non négative
(objet membre public) |
|
char
int_n_sign_posn
(C99)
|
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 <locale.h> #include <stdio.h> int main(void) { setlocale(LC_ALL, "ja_JP.UTF-8"); struct lconv* lc = localeconv(); printf("Japanese currency symbol: %s(%s)\n", lc->currency_symbol, lc->int_curr_symbol); }
Sortie possible :
Japanese currency symbol: ¥(JPY )
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.11/2 Localisation <locale.h> (p: À DÉTERMINER)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.11/2 Localisation <locale.h> (p: À DÉTERMINER)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.11/2 Localisation <locale.h> (p: 223)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.11/2 Localisation <locale.h> (p : 204)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 4.4 LOCALISATION <locale.h>
Voir aussi
|
interroge les détails de formatage numérique et monétaire de la locale actuelle
(fonction) |
|
|
Documentation C++
pour
lconv
|
|