lconv
| Definiert im Header <locale.h> |
||
| struct lconv; |
||
Die Struktur lconv enthält numerische und geldbezogene Formatierungsregeln, wie sie von einer C-Locale definiert werden. Objekte dieser Struktur können mit localeconv abgerufen werden. Die Member von lconv sind Werte vom Typ char und vom Typ char*. Jeder char*-Member außer decimal_point kann auf ein Nullzeichen zeigen (d. h. auf eine leere C-Zeichenkette). Die Member vom Typ char sind allesamt nicht-negative Zahlen, von denen jede CHAR_MAX sein kann, wenn der entsprechende Wert in der aktuellen C-Locale nicht verfügbar ist.
Inhalt |
[bearbeiten] Member-Objekte
[bearbeiten] Nicht-monetäre numerische Formatierungsparameter
| char* decimal_point |
das Zeichen, das als Dezimaltrennzeichen verwendet wird (öffentliches Mitgliedsobjekt) |
| char* thousands_sep |
das Zeichen, das zur Trennung von Zifferngruppen vor dem Dezimaltrennzeichen verwendet wird (öffentliches Mitgliedsobjekt) |
| char* grouping |
eine Zeichenkette, deren Elemente die Größen von Zifferngruppen angeben (öffentliches Mitgliedsobjekt) |
[bearbeiten] Geldbezogene numerische Formatierungsparameter
| char* mon_decimal_point |
das Zeichen, das als Dezimaltrennzeichen verwendet wird (öffentliches Mitgliedsobjekt) |
| char* mon_thousands_sep |
das Zeichen, das zur Trennung von Zifferngruppen vor dem Dezimaltrennzeichen verwendet wird (öffentliches Mitgliedsobjekt) |
| char* mon_grouping |
eine Zeichenkette, deren Elemente die Größen von Zifferngruppen angeben (öffentliches Mitgliedsobjekt) |
| char* positive_sign |
eine Zeichenkette, die zur Anzeige nicht-negativer Geldwerte verwendet wird (öffentliches Mitgliedsobjekt) |
| char* negative_sign |
eine Zeichenkette, die zur Anzeige negativer Geldwerte verwendet wird (öffentliches Mitgliedsobjekt) |
[bearbeiten] Lokale geldbezogene numerische Formatierungsparameter
| char* currency_symbol |
das Symbol, das für die Währung in der aktuellen C-Locale verwendet wird (öffentliches Mitgliedsobjekt) |
| char frac_digits |
die Anzahl der Ziffern nach dem Dezimaltrennzeichen, die für einen Geldwert angezeigt werden sollen (öffentliches Mitgliedsobjekt) |
| char p_cs_precedes |
1, wenn currency_symbol vor dem nicht-negativen Wert platziert wird, 0 wenn danach (öffentliches Mitgliedsobjekt) |
| char n_cs_precedes |
1, wenn currency_symbol vor dem negativen Wert platziert wird, 0 wenn danach (ö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) |
[bearbeiten] Internationale geldbezogene numerische Formatierungsparameter
| char* int_curr_symbol |
die Zeichenkette, die als internationaler Währungsname in der aktuellen C-Locale verwendet wird (öffentliches Mitgliedsobjekt) |
| char int_frac_digits |
die Anzahl der Ziffern nach dem Dezimaltrennzeichen, die für einen internationalen Geldwert angezeigt werden sollen (öffentliches Mitgliedsobjekt) |
| char int_p_cs_precedes (C99) |
1, wenn int_curr_symbol vor dem nicht-negativen internationalen Geldwert platziert wird, 0 wenn danach (öffentliches Mitgliedsobjekt) |
| char int_n_cs_precedes (C99) |
1, wenn int_curr_symbol vor dem 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 von grouping und mon_grouping zeigenden C-Zeichenketten werden gemäß ihren numerischen Werten interpretiert. Wenn das abschließende '\0' angetroffen wird, wird der zuletzt gesehene Wert für den Rest der Ziffern angenommen. Wird CHAR_MAX angetroffen, werden keine weiteren Ziffern gruppiert. Die typische Gruppierung von 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 | das Vorzeichen klebt am Währungssymbol, der Wert ist durch ein Leerzeichen getrennt |
| 2 | das Vorzeichen klebt am Wert. Das Währungssymbol ist 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 |
[bearbeiten] 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 )
[bearbeiten] 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>
[bearbeiten] Siehe auch
| fragt Details zur numerischen und geldbezogenen Formatierung der aktuellen Locale ab (Funktion) | |
| C++-Dokumentation für lconv
| |