Namensräume
Varianten
Aktionen

std::lconv

Von cppreference.com
< cpp‎ | locale
 
 
 
 
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) [bearbeiten]
definiert Regeln für numerische Satzzeichen
(Klassentemplate) [bearbeiten]
definiert Parameter für Geldformatierung, die von std::money_get und std::money_put verwendet werden
(Klassentemplate) [bearbeiten]
C-Dokumentation für lconv