Fonctions de la bibliothèque C -localeconv()
Bibliothèque standard C - <locale.h>
Description
localeconv()est la bibliothèque standard C<locale.h>L'une des fonctions, utilisée pour obtenir des informations de formatage numérique et monétaire pour la locale actuelle. Elle renvoie un pointeur versstruct lconvPointeur vers une structure qui contient des informations de formatage localisées pour la locale actuelle.
Déclaration
Ce qui suit est la déclaration de la fonction localeconv().
#include <locale.h> struct lconv *localeconv(void);
Paramètre
- N/D
Valeur de retour
- Renvoie un pointeur vers
struct lconvPointeur vers une structure qui contient des informations localisées pour la locale actuelle.
locale actuellestruct lconvLa structure du pointeur est la suivante :
struct lconv {
char *decimal_point; // 小数点字符
char *thousands_sep; // 千位分隔符
char *grouping; // 数字分组方式
char *int_curr_symbol; // 国际货币符号
char *currency_symbol; // 本地货币符号
char *mon_decimal_point; // 货币小数点字符
char *mon_thousands_sep; // 货币千位分隔符
char *mon_grouping; // 货币分组方式
char *positive_sign; // 正数符号
char *negative_sign; // 负数符号
char int_frac_digits; // 国际小数位数
char frac_digits; // 本地小数位数
char p_cs_precedes; // 正值货币符号前置
char p_sep_by_space; // 正值货币符号与值之间的间隔
char n_cs_precedes; // 负值货币符号前置
char n_sep_by_space; // 负值货币符号与值之间的间隔
char p_sign_posn; // 正值符号位置
char n_sign_posn; // 负值符号位置
};
Exemple
Ce qui suit est un exemple de code qui utilise localeconv pour obtenir et afficher les informations de formatage numérique et monétaire de la locale actuelle :
Exemple
#include <locale.h>
int main() {
// Définir les informations de locale sur les paramètres par défaut à partir des variables d'environnement de l'utilisateur
setlocale(LC_ALL, "");
// Obtenir les informations de locale pour la locale actuelle
struct lconv *lc = localeconv();
// Afficher les informations de formatage numérique
printf("Caractère de point décimal : %s\n", lc->decimal_point);
printf("Séparateur de milliers : %s\n", lc->thousands_sep);
printf("Groupement : %s\n", lc->grouping);
// Afficher les informations de formatage de la monnaie
printf("Symbole monétaire international : %s\n", lc->int_curr_symbol);
printf("Symbole monétaire local : %s\n", lc->currency_symbol);
printf("Caractère de point décimal monétaire : %s\n", lc->mon_decimal_point);
printf("Séparateur de milliers monétaire : %s\n", lc->mon_thousands_sep);
printf("Groupement monétaire : %s\n", lc->mon_grouping);
printf("Signe positif : %s\n", lc->positive_sign);
printf("Signe négatif : %s\n", lc->negative_sign);
printf("Chiffres fractionnaires internationaux : %d\n", lc->int_frac_digits);
printf("Chiffres fractionnaires locaux : %d\n", lc->frac_digits);
printf("Symbole monétaire positif précède : %d\n", lc->p_cs_precedes);
printf("Symbole monétaire positif séparé par un espace : %d\n", lc->p_sep_by_space);
printf("Le symbole monétaire négatif précède : %d\n", lc->n_cs_precedes);
printf("Symbole monétaire négatif séparé par un espace : %d\n", lc->n_sep_by_space);
printf("Position du signe positif : %d\n", lc->p_sign_posn);
printf("Position du signe négatif : %d\n", lc->n_sign_posn);
return 0;
}
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
Decimal point character: . Thousands separator: , Grouping: International currency symbol: CNY Local currency symbol: ¥ Monetary decimal point character: . Monetary thousands separator: , Monetary grouping: Positive sign: Negative sign: - International fractional digits: 2 Local fractional digits: 2 Positive currency symbol precedes: 1 Positive currency symbol separated by space: 0 Negative currency symbol precedes: 1 Negative currency symbol separated by space: 0 Positive sign position: 1 Negative sign position: 4
Explication du code
-
informations sur le format numérique:
decimal_point: Caractère de séparateur décimal, par exemple "."。thousands_sep: Séparateur de milliers, par exemple ","。grouping: Groupement des nombres.
-
informations sur le format monétaire:
int_curr_symbol: Symbole monétaire international, par ex. "USD".currency_symbol: Symbole monétaire local, par ex. "$".mon_decimal_point: Caractère de séparation décimale de la devise.mon_thousands_sep: Séparateur de milliers de la devise.mon_grouping: Regroupement de la devise.positive_sign: Signe positif, par exemple "".negative_sign: Signe négatif, par exemple "-".int_frac_digits: Chiffres fractionnaires internationaux.frac_digits: Chiffres fractionnaires locaux.p_cs_precedes: Indique si le symbole monétaire précède une valeur positive (1 = précède, 0 = suit).p_sep_by_space: Indique s'il y a un espace entre le symbole monétaire et une valeur positive (1 = oui, 0 = non).n_cs_precedes: Indique si le symbole monétaire précède une valeur négative (1 = précède, 0 = suit).n_sep_by_space: Indique s'il y a un espace entre le symbole monétaire et une valeur négative (1 = oui, 0 = non).p_sign_posn: Position du signe positif (1 = précède, 2 = suit, 3 = adjacent à la valeur numérique, 4 = adjacent au symbole monétaire).n_sign_posn: Position du signe négatif (1 = précède, 2 = suit, 3 = adjacent à la valeur numérique, 4 = adjacent au symbole monétaire).
Résumé
localeconvLa fonction permet au programme d'obtenir les informations de formatage numérique et monétaire de la locale actuelle. C'est très utile pour écrire des programmes internationalisés qui doivent gérer plusieurs langues et formats monétaires. En utilisant lasetlocaleetlocaleconvfonction, les programmeurs peuvent mettre en œuvre la localisation du programme, répondant ainsi aux besoins de différents groupes d'utilisateurs.