std::lconv
| Definiert in Header <clocale> |
||
| struct lconv; |
||
Die Klasse std::lconv enthält numerische und monetäre Formatierungsregeln, wie sie von einer C-Locale definiert werden. Objekte dieser Struktur können mit std::localeconv erhalten werden. Die Member von std::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 einen leeren C-String). Die Member vom Typ char sind alle nicht-negative Zahlen; jede davon kann CHAR_MAX sein, wenn der entsprechende Wert in der aktuellen C-Locale nicht verfügbar ist.
Inhalt |
[editieren] Member-Objekte
[editieren] 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 |
ein String, dessen Elemente die Größen von Zifferngruppen angeben (öffentliches Mitgliedsobjekt) |
[editieren] Monetäre 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 |
ein String, dessen Elemente die Größen von Zifferngruppen angeben (öffentliches Mitgliedsobjekt) |
| char* positive_sign |
ein String, der zur Angabe nicht-negativer monetärer Beträge verwendet wird (öffentliches Mitgliedsobjekt) |
| char* negative_sign |
ein String, der zur Angabe negativer monetärer Beträge verwendet wird (öffentliches Mitgliedsobjekt) |
[editieren] Lokale monetäre 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 monetären Betrag 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 monetären Wert an(öffentliches Mitgliedsobjekt) |
| char n_sep_by_space |
gibt die Trennung von currency_symbol, negative_sign und dem negativen monetären Wert an(öffentliches Mitgliedsobjekt) |
| char p_sign_posn |
gibt die Position von positive_sign bei einem nicht-negativen monetären Wert an(öffentliches Mitgliedsobjekt) |
| char n_sign_posn |
gibt die Position von negative_sign bei einem negativen monetären Wert an(öffentliches Mitgliedsobjekt) |
[editieren] Internationale monetäre numerische Formatierungsparameter
| char* int_curr_symbol |
der String, der 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 monetären Betrag angezeigt werden sollen (öffentliches Mitgliedsobjekt) |
| char int_p_cs_precedes (C++11) |
1, wenn int_curr_symbol vor dem nicht-negativen internationalen monetären Wert platziert wird, 0, wenn danach(öffentliches Mitgliedsobjekt) |
| char int_n_cs_precedes (C++11) |
1, wenn int_curr_symbol vor dem negativen internationalen monetären Wert platziert wird, 0, wenn danach(öffentliches Mitgliedsobjekt) |
| char int_p_sep_by_space (C++11) |
gibt die Trennung von int_curr_symbol, positive_sign und dem nicht-negativen internationalen monetären Wert an(öffentliches Mitgliedsobjekt) |
| char int_n_sep_by_space (C++11) |
gibt die Trennung von int_curr_symbol, negative_sign und dem negativen internationalen monetären Wert an(öffentliches Mitgliedsobjekt) |
| char int_p_sign_posn (C++11) |
gibt die Position von positive_sign bei einem nicht-negativen internationalen monetären Wert an(öffentliches Mitgliedsobjekt) |
| char int_n_sign_posn (C++11) |
gibt die Position von negative_sign bei einem negativen internationalen monetären Wert an(öffentliches Mitgliedsobjekt) |
Die Zeichen der C-Strings, auf die von 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 restlichen Ziffern wiederholt wird. Wenn CHAR_MAX angetroffen wird, werden keine weiteren Ziffern gruppiert. Die typische Gruppierung von drei Ziffern auf einmal ist "\003".
Die Werte von p_sep_by_space, n_sep_by_space, int_p_sep_by_space und int_n_sep_by_space werden wie folgt interpretiert:
| 0 | kein Leerzeichen trennt das Währungssymbol und den Wert |
| 1 | das Vorzeichen haftet am Währungssymbol, der Wert wird durch ein Leerzeichen getrennt |
| 2 | das Vorzeichen haftet am Wert. Das Währungssymbol wird durch ein Leerzeichen getrennt |
Die Werte von p_sign_posn, n_sign_posn, int_p_sign_posn und int_n_sign_posn werden wie folgt interpretiert:
| 0 | Klammern um den Wert und das Währungssymbol werden verwendet, um das Vorzeichen darzustellen |
| 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 |
[editieren] Beispiel
#include <clocale> #include <iostream> int main() { std::setlocale(LC_ALL, "ja_JP.UTF-8"); std::lconv* lc = std::localeconv(); std::cout << "Japanese currency symbol: " << lc->currency_symbol << '(' << lc->int_curr_symbol << ")\n"; }
Ausgabe
Japanese currency symbol: ¥(JPY )
[editieren] Siehe auch
| fragt Details zur numerischen und geldbezogenen Formatierung der aktuellen Locale ab (Funktion) | |
| definiert Regeln für numerische Satzzeichen (Klassentemplate) | |
| definiert Parameter für Geldformatierung, die von std::money_get und std::money_put verwendet werden (Klassentemplate) | |
| C-Dokumentation für lconv
| |