lconv
|
Definiert im Header
<locale.h>
|
||
|
struct
lconv
;
|
||
Die Struktur
lconv
enthält numerische und monetäre Formatierungsregeln, wie sie von einem C-Locale definiert werden. Objekte dieser Struktur können mit
localeconv
erhalten werden. Die Mitglieder von
lconv
sind Werte vom Typ
char
und vom Typ
char
*
. Jedes
char
*
Mitglied außer
decimal_point
kann auf ein Nullzeichen zeigen (das heißt, auf einen leeren C-String). Die Mitglieder vom Typ
char
sind alle nicht-negative Zahlen, von denen jede
CHAR_MAX
sein kann, wenn der entsprechende Wert im aktuellen C-Locale nicht verfügbar ist.
Inhaltsverzeichnis |
Member-Objekte
Nicht-monetäre numerische Formatierungsparameter
|
char*
decimal_point
|
Das als Dezimaltrennzeichen verwendete Zeichen
(öffentliches Mitgliedsobjekt) |
|
char*
thousands_sep
|
Das zur Trennung von Zifferngruppen vor dem Dezimaltrennzeichen verwendete Zeichen
(öffentliches Mitgliedsobjekt) |
|
char*
grouping
|
Eine Zeichenkette, deren Elemente die Größen von Zifferngruppen angeben
(öffentliches Mitgliedsobjekt) |
Monetäre numerische Formatierungsparameter
|
char*
mon_decimal_point
|
Das Zeichen, das als Dezimaltrennzeichen verwendet wird
(öffentliches Mitgliedsobjekt) |
|
char*
mon_thousands_sep
|
Das Zeichen zur Trennung von Zifferngruppen vor dem Dezimaltrennzeichen
(öffentliches Mitgliedsobjekt) |
|
char*
mon_grouping
|
Eine Zeichenkette, deren Elemente die Größen von Zifferngruppen angeben
(öffentliches Mitgliedsobjekt) |
|
char*
positive_sign
|
Eine Zeichenkette zur Kennzeichnung nicht-negativer Geldbeträge
(öffentliches Mitgliedsobjekt) |
|
char*
negative_sign
|
Eine Zeichenkette zur Kennzeichnung negativer Geldbeträge
(öffentliches Mitgliedsobjekt) |
Lokale monetäre numerische Formatierungsparameter
|
char*
currency_symbol
|
Das in der aktuellen C-Locale verwendete Währungssymbol
(öffentliches Mitgliedsobjekt) |
|
char
frac_digits
|
Die Anzahl der Nachkommastellen zur Anzeige eines Geldbetrags
(öffentliches Mitgliedsobjekt) |
|
char
p_cs_precedes
|
1
falls
currency_symbol
vor nicht-negativem Wert steht,
0
falls dahinter
(öffentliches Mitgliedsobjekt) |
|
char
n_cs_precedes
|
1
falls
currency_symbol
vor negativem Wert steht,
0
falls dahinter
(öffentliches Mitgliedsobjekt) |
|
char
p_sep_by_space
|
Gibt die Trennung von
currency_symbol
,
positive_sign
und dem nicht-negativen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
n_sep_by_space
|
Gibt die Trennung von
currency_symbol
,
negative_sign
und dem negativen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
p_sign_posn
|
Gibt die Position von
positive_sign
in einem nicht-negativen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
n_sign_posn
|
Gibt die Position von
negative_sign
in einem negativen Geldwert an
(öffentliches Mitgliedsobjekt) |
Internationale monetäre numerische Formatierungsparameter
|
char*
int_curr_symbol
|
die Zeichenkette, die als internationaler Währungsname im aktuellen C-Locale verwendet wird
(öffentliches Mitgliedsobjekt) |
|
char
int_frac_digits
|
die Anzahl der Nachkommastellen, die in einer internationalen Geldmenge angezeigt werden
(öffentliches Mitgliedsobjekt) |
|
char
int_p_cs_precedes
(C99)
|
1
wenn
int_curr_symbol
vor einem nicht-negativen internationalen Geldwert platziert wird,
0
wenn danach
(öffentliches Mitgliedsobjekt) |
|
char
int_n_cs_precedes
(C99)
|
1
wenn
int_curr_symbol
vor einem negativen internationalen Geldwert platziert wird,
0
wenn danach
(öffentliches Mitgliedsobjekt) |
|
char
int_p_sep_by_space
(C99)
|
gibt die Trennung von
int_curr_symbol
,
positive_sign
und dem nicht-negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
int_n_sep_by_space
(C99)
|
gibt die Trennung von
int_curr_symbol
,
negative_sign
und dem negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
int_p_sign_posn
(C99)
|
gibt die Position von
positive_sign
in einem nicht-negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt) |
|
char
int_n_sign_posn
(C99)
|
gibt die Position von
negative_sign
in einem negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt) |
Die Zeichen der C-Strings, auf die durch grouping und mon_grouping gezeigt wird, werden entsprechend ihrer numerischen Werte interpretiert. Wenn das abschließende ' \0 ' angetroffen wird, wird angenommen, dass der zuletzt gesehene Wert für die verbleibenden Ziffern wiederholt wird. Wenn CHAR_MAX angetroffen wird, werden keine weiteren Ziffern gruppiert. Die typische Gruppierung von jeweils drei Ziffern ist " \003 " .
Die Werte von p_sep_by_space , n_sep_by_space , int_p_sep_by_space , int_n_sep_by_space werden wie folgt interpretiert:
| 0 | Kein Leerzeichen trennt das Währungssymbol und den Wert |
| 1 | Vorzeichen klebt am Währungssymbol, Wert wird durch ein Leerzeichen getrennt |
| 2 | Vorzeichen klebt am Wert. Währungssymbol wird durch ein Leerzeichen getrennt |
Die Werte von p_sign_posn , n_sign_posn , int_p_sign_posn , int_n_sign_posn werden wie folgt interpretiert:
| 0 | Klammern um den Wert und das Währungssymbol werden zur Darstellung des Vorzeichens verwendet |
| 1 | Vorzeichen vor dem Wert und dem Währungssymbol |
| 2 | Vorzeichen nach dem Wert und dem Währungssymbol |
| 3 | Vorzeichen vor dem Währungssymbol |
| 4 | Vorzeichen nach dem Währungssymbol |
Beispiel
#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); }
Mögliche Ausgabe:
Japanese currency symbol: ¥(JPY )
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.11/2 Lokalisierung <locale.h> (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.11/2 Lokalisierung <locale.h> (S.: TBD)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.11/2 Lokalisierung <locale.h> (S: 223)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.11/2 Lokalisierung <locale.h> (S: 204)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.4 LOKALISIERUNG <locale.h>
Siehe auch
|
Abfrage der numerischen und monetären Formatierungsdetails der aktuellen Locale
(Funktion) |
|
|
C++-Dokumentation
für
lconv
|
|