C-Bibliotheksfunktionen -localeconv()
C-Standardbibliothek - <locale.h>
Beschreibung
localeconv()ist die C-Standardbibliothek<locale.h>Eine der Funktionen, die verwendet wird, um Informationen zur numerischen und Währungsformatierung für das aktuelle Gebietsschema abzurufen. Sie gibt einen Zeiger zurück aufstruct lconvZeiger auf eine Struktur, die lokalisierte Formatierungsinformationen für die aktuelle Locale enthält.
Deklaration
Das Folgende ist die Deklaration der Funktion localeconv().
#include <locale.h> struct lconv *localeconv(void);
Parameter
- N/V
Rückgabewert
- Gibt einen Zeiger auf
struct lconvZeiger auf eine Struktur, die lokalisierte Informationen für die aktuelle Locale enthält.
aktuelle Localestruct lconvDie Struktur des Zeigers ist wie folgt:
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; // 负值符号位置
};
Beispiel
Das Folgende ist Beispielcode, der localeconv verwendet, um die numerischen und Währungsformatierungsinformationen der aktuellen Locale abzurufen und auszugeben:
Beispiel
#include <locale.h>
int main() {
// Locale-Informationen auf die Standardeinstellungen aus den Umgebungsvariablen des Benutzers setzen
setlocale(LC_ALL, "");
// Locale-Informationen für die aktuelle Locale abrufen
struct lconv *lc = localeconv();
// Numerische Formatierungsinformationen ausgeben
printf("Dezimaltrennzeichen: %s\n", lc->decimal_point);
printf("Tausendertrennzeichen: %s\n", lc->thousands_sep);
printf("Gruppierung: %s\n", lc->grouping);
// Währungsformatierungsinformationen ausgeben
printf("Internationales Währungssymbol: %s\n", lc->int_curr_symbol);
printf("Lokales Währungssymbol: %s\n", lc->currency_symbol);
printf("Währungs-Dezimaltrennzeichen: %s\n", lc->mon_decimal_point);
printf("Währungs-Tausendertrennzeichen: %s\n", lc->mon_thousands_sep);
printf("Währungsgruppierung: %s\n", lc->mon_grouping);
printf("Positives Vorzeichen: %s\n", lc->positive_sign);
printf("Negatives Vorzeichen: %s\n", lc->negative_sign);
printf("Internationale Nachkommastellen: %d\n", lc->int_frac_digits);
printf("Lokale Nachkommastellen: %d\n", lc->frac_digits);
printf("Positives Währungssymbol steht voran: %d\n", lc->p_cs_precedes);
printf("Positives Währungssymbol durch Leerzeichen getrennt: %d\n", lc->p_sep_by_space);
printf("Negatives Währungssymbol steht davor: %d\n", lc->n_cs_precedes);
printf("Negatives Währungssymbol durch Leerzeichen getrennt: %d\n", lc->n_sep_by_space);
printf("Position des positiven Vorzeichens: %d\n", lc->p_sign_posn);
printf("Position des negativen Vorzeichens: %d\n", lc->n_sign_posn);
return 0;
}
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
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
Code-Erklärung
-
Numerische Formatinformationen:
decimal_point: Dezimaltrennzeichen, zum Beispiel "."。thousands_sep: Tausendertrennzeichen, zum Beispiel ","。grouping: Zahlengruppierung.
-
Währungsformatinformationen:
int_curr_symbol: Internationales Währungssymbol, z. B. "USD".currency_symbol: Lokales Währungssymbol, z. B. "$".mon_decimal_point: Währungs-Dezimaltrennzeichen.mon_thousands_sep: Währungs-Tausendertrennzeichen.mon_grouping: Währungsgruppierung.positive_sign: Positives Vorzeichen, zum Beispiel "".negative_sign: Negatives Vorzeichen, zum Beispiel "-".int_frac_digits: Internationale Nachkommastellen.frac_digits: Lokale Nachkommastellen.p_cs_precedes: Ob das Währungssymbol einem positiven Wert vorangestellt wird (1 = davor, 0 = dahinter).p_sep_by_space: Ob ein Leerzeichen zwischen dem Währungssymbol und einem positiven Wert steht (1 = ja, 0 = nein).n_cs_precedes: Ob das Währungssymbol einem negativen Wert vorangestellt wird (1 = davor, 0 = dahinter).n_sep_by_space: Ob ein Leerzeichen zwischen dem Währungssymbol und einem negativen Wert steht (1 = ja, 0 = nein).p_sign_posn: Position des positiven Vorzeichens (1 = davor, 2 = dahinter, 3 = direkt am numerischen Wert, 4 = direkt am Währungssymbol).n_sign_posn: Position des Minuszeichens (1 = vorangestellt, 2 = nachgestellt, 3 = angrenzend an den numerischen Wert, 4 = angrenzend an das Währungssymbol).
Zusammenfassung
localeconvDie Funktion ermöglicht es dem Programm, die Informationen zur Zahlen- und Währungsformatierung des aktuellen Gebietsschemas abzurufen. Dies ist sehr nützlich für das Schreiben internationalisierter Programme, die mehrere Sprachen und Währungsformate verarbeiten müssen. Durch die Verwendung dersetlocaleundlocaleconvFunktion können Programmierer die Programmlokalisierung implementieren und dadurch die Bedürfnisse verschiedener Benutzergruppen erfüllen.