Namespaces
Variants

std:: lconv

From cppreference.net
Definiert in Header <clocale>
struct lconv ;

Die Klasse std::lconv enthält numerische und monetäre Formatierungsregeln, wie sie von einem C-Locale definiert werden. Objekte dieser Struktur können mit std::localeconv erhalten werden. Die Mitglieder von std::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 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)

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 der 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, die bei einer Geldbetragsangabe angezeigt werden
(öffentliches Mitgliedsobjekt)
char p_cs_precedes
1 wenn currency_symbol vor einem nicht-negativen Wert steht, 0 wenn dahinter
(öffentliches Mitgliedsobjekt)
char n_cs_precedes
1 wenn currency_symbol vor einem negativen Wert steht, 0 wenn dahinter
(öffentliches Mitgliedsobjekt)
char p_sep_by_space
gibt die Trennung von currency_symbol , positive_sign und dem nicht-negativen Geldbetrag an
(öffentliches Mitgliedsobjekt)
char n_sep_by_space
gibt die Trennung von currency_symbol , negative_sign und dem negativen Geldbetrag an
(öffentliches Mitgliedsobjekt)
char p_sign_posn
gibt die Position von positive_sign in einem nicht-negativen Geldbetrag an
(öffentliches Mitgliedsobjekt)
char n_sign_posn
gibt die Position von negative_sign in einem negativen Geldbetrag 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
(C++11)
1 wenn int_curr_symbol vor einem nicht-negativen internationalen Geldwert platziert wird, 0 wenn dahinter
(öffentliches Mitgliedsobjekt)
char int_n_cs_precedes
(C++11)
1 wenn int_curr_symbol vor einem negativen internationalen Geldwert platziert wird, 0 wenn dahinter
(öffentliches Mitgliedsobjekt)
char int_p_sep_by_space
(C++11)
gibt die Trennung von int_curr_symbol , positive_sign und dem nicht-negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt)
char int_n_sep_by_space
(C++11)
gibt die Trennung von int_curr_symbol , negative_sign und dem negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt)
char int_p_sign_posn
(C++11)
gibt die Position von positive_sign in einem nicht-negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt)
char int_n_sign_posn
(C++11)
gibt die Position von negative_sign in einem negativen internationalen Geldwert an
(öffentliches Mitgliedsobjekt)


Die Zeichen der C-Strings, auf die grouping und mon_grouping zeigen, werden entsprechend ihrer numerischen Werte interpretiert. Wenn das abschließende ' \0 ' angetroffen wird, wird angenommen, dass der letzte gesehene Wert für die verbleibenden 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 , int_n_sep_by_space werden wie folgt interpretiert:

0 Kein Leerzeichen trennt das Währungssymbol und den Wert
1 Vorzeichen haftet am Währungssymbol, Wert wird durch ein Leerzeichen getrennt
2 Vorzeichen haftet 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 <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 )

Siehe auch

Fragt numerische und monetäre Formatierungsdetails der aktuellen Locale ab
(Funktion)
Definiert Regeln für numerische Interpunktion
(Klassentemplate)
Definiert monetäre Formatierungsparameter, verwendet von std::money_get und std::money_put
(Klassentemplate)