Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

localeconv - Lokalitätsspezifische Daten abfragen/ändern

&pagelevel(4)&pagelevel

Definition

#include <locale.h>

struct lconv *localeconv(void);

localeconv setzt die Komponenten einer Struktur vom Typ struct lconv auf Werte, die zu der aktuellen Lokalität passen. Die gelieferten Werte können bei der formatierten Ausgabe benutzt werden, um monetäre und nicht-monetäre numerische Werte lokalitätsspezifisch darzustellen.

Zu Programmbeginn ist die Lokalität "C" (LC_C_C) voreingestellt. Durch Aufruf der Funktion setlocale mit den Kategorien LC_MONETARY, LC_NUMERIC bzw. LC_ALL lässt sich die Lokalität ändern. Ein neuerlicher Aufruf von localeconv passt dann die Werte in den Strukturkomponenten der neuen Lokalität an.

Returnwert

Zeiger auf die Struktur, in die die Werte eingetragen wurden.

  1. Komponenten für nicht-monetäre numerische Werte (LC_NUMERIC):

    char *decimal_point

    Dezimalpunkt.

    char *thousands_sep

    Trennzeichen für die Gruppierung der Stellen vor dem Dezimalpunkt.

    char *grouping

    Zeichenkette, deren Elemente die Länge jeder Gruppe von Stellen angeben.

  2. Komponenten für monetäre Werte (LC_MONETARY):

    char *int_curr_symbol

    Das zur Lokalität passende internationale Währungssymbol. Die ersten drei Zeichen enthalten das alphabetische internationale Währungssymbol, entsprechend der in ISO 4217:1897 festgelegten Konvention. Das vierte Zeichen ist das Trennzeichen zwischen dem internationalen Währungssymbol und dem Betrag. In der Lokalität "De.EDF04F@euro" ist der Wert “EUR“ als alphabetisches Währungssymbol eingetragen.

    char *currency_symbol

    Das der Lokalität entsprechende lokale Währungssymbol.

    char *mon_decimal_point

    Dezimalpunkt.

    char *mon_thousands_sep

    Trennzeichen für die Gruppierung der Stellen vor dem Dezimalpunkt.

    char *mon_grouping

    Zeichenkette, deren Elemente die Länge jeder Gruppe von Stellen angeben.

    char *positive_sign

    Zeichenkette, die einen nicht-negativen Betrag kennzeichnet.

    char *negative_sign

    Zeichenkette, die einen negativen Betrag kennzeichnet.

    char int_frac_digits

    Anzahl der Dezimalstellen bei einem international strukturierten Betrag.

    char frac_digits

    Anzahl der Dezimalstellen bei einem lokal strukturierten Betrag.

    char p_cs_precedes

    1          falls das Währungssymbol dem nicht-negativen Betrag vorangeht.

    0          falls das Währungssymbol dem nicht-negativen Betrag nachfolgt.

    char n_cs_precedes

    1          falls das Währungssymbol dem negativen Betrag vorangeht.

    0          falls das Währungssymbol dem negativen Betrag nachfolgt nachfolgt.

    char p_sep_by_space

    1          falls das Währungssymbol von einem nicht-negativen Betrag durch ein Leerzeichen getrennt ist.

    0          falls nicht.

    char n_sep_by_space

    1          falls das Währungssymbol von einem negativen Betrag durch ein Leerzeichen getrennt ist.

    0          falls nicht.

    char p_sign_posn

    Position des positive_sign bei einem nicht-negativen Betrag.

    char n_sign_posn

    Position des negative_sign bei einem negativen Betrag.

Die char-Elemente von grouping und mon_grouping legen die Anzahl der Stellen für die Gruppen links vom Dezimalpunkt fest, beginnend mit der ersten Gruppe links vom Dezimalpunkt (z.B. Tausenderstellen). Die Einträge werden wie folgt interpretiert:

CHAR_MAX

Entspricht dem höchsten EBCDIC-Wert (255) und bewirkt, dass keine weitere Gruppierung ausgeführt wird.

0

Das Nullbyte bewirkt, dass der Eintrag des vorhergehenden char-Elements für die Gruppierung aller restlichen Stellen gilt.

andere

Der Intergerwert gilt für die Anzahl der Stellen der gegenwärtigen Gruppe. Das nächste char-Element legt die Anzahl der Stellen der nächsten Gruppe fest.

Die Werte von p_sign_posn und n_sign_posn werden wie folgt interpretiert:

0

Betrag und currency_symbol sind in Klammern eingeschlossen.

1

Das Vorzeichen steht vor Betrag und currency_symbol.

2

Das Vorzeichen steht hinter Betrag und currency_symbol.

3

Das Vorzeichen steht unmittelbar vor currency_symbol.

4

Das Vorzeichen steht unmittelbar hinter currency_symbol.

Hinweise

Die verfügbaren Lokalitäten sind im Kapitel "Konzept der Lokalität" beschrieben.

Die Komponenten der gelieferten Struktur dürfen nicht explizit vom Anwender überschrieben werden. Die Struktur kann auschließlich durch den Aufruf von localeconv neu versorgt werden.

In der aktuellen Lokalität können für verschiedene Strukturkomponenten keine Werte definiert sein. Dies wird bei Komponenten vom Typ char * durch einen Zeiger auf "" dargestellt, bei Komponenten vom Typ char durch den Wert CHAR_MAX (Wert 255).

Siehe auch

setlocale