Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ localeconv(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chrtbl(1M)

montbl(1M)

setlocale(3C)

localeconv(3C)                                               localeconv(3C)

NAME
     localeconv - Numerische Formatierinformationen lesen

SYNTAX
     #include <locale.h>

     struct lconv *localeconv (void);

BESCHREIBUNG
     localeconv() setzt die Komponenten eines Objekts vom Typ struct lconv
     (definiert in locale.h) auf die Werte, die den Formatierungskonventio-
     nen der numerischen Größen (monetäre und andere Größen) der aktuellen
     lokalen Umgebung entsprechen [siehe setlocale(3C)]. Die Definition von
     struct lconv ist im folgenden aufgeführt (die Werte für die Komponen-
     ten in der lokalen C-Umgebung sind innerhalb der Kommentarzeichen
     angegeben):

        char *decimalpoint;          /* "." */
        char *thousandssep;          /* "" (Zeichenkette der Länge 0) */
        char *grouping;               /* "" */
        char *intcurrsymbol;        /* "" */
        char *currencysymbol;        /* "" */
        char *mondecimalpoint;      /* "" */
        char *monthousandssep;      /* "" */
        char *mongrouping;           /* "" */
        char *positivesign;          /* "" */
        char *negativesign;          /* "" */
        char intfracdigits;         /* CHARMAX */
        char fracdigits;             /* CHARMAX */
        char pcsprecedes;           /* CHARMAX */
        char psepbyspace;          /* CHARMAX */
        char ncsprecedes;           /* CHARMAX */
        char nsepbyspace;          /* CHARMAX */
        char psignposn;             /* CHARMAX */
        char nsignposn;             /* CHARMAX */

     Die Komponenten der Struktur vom Typ char * sind Zeichenketten, von
     denen jede (mit Ausnahme von decimalpoint) auf "" zeigen kann;
     dadurch wird angegeben, daß der Wert der aktuellen lokalen Umgebung
     nicht verfügbar ist oder die Länge Null hat. Die Komponenten mit dem
     Typ char sind nichtnegative Zahlen, von denen jede den Wert CHARMAX
     (definiert in der Datei limits.h) annehmen kann; dadurch wird ange-
     zeigt, daß der Wert der aktuellen lokalen Umgebung nicht verfügbar
     ist. Die Komponenten haben folgende Bedeutungen:

     char *decimalpoint
          Dezimalpunktzeichen zur Formatierung nichtmonetärer Größen

     char *thousandssep
          Zeichen zur Trennung von Zifferngruppen links vom Dezimalpunkt
          zur Formatierung nichtmonetärer Größen




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

localeconv(3C)                                               localeconv(3C)

     char *grouping
          Zeichenkette, in der jedes Element als ganze Zahl behandelt wird;
          die Anzahl der Ziffern, die die aktuelle Gruppe in einer forma-
          tierten, nichtmonetären Größe annimmt. Die Elemente von grouping
          werden wie folgt interpretiert:

          CHAR-MAX  Keine weitere Gruppierung wird durchgeführt.

          0         Das vorherige Element wird für die restlichen Ziffern
                    wiederholt verwendet.

          other     Der Wert ist die Anzahl der Ziffern, welche sich in der
                    aktuellen Gruppe befinden. Das nächste Element wird
                    überprüft, um die Größe der nächsten Zifferngruppe
                    links von der aktuellen Gruppe zu bestimmen.

     char *intcurrsymbol
          Internationales Währungssymbol. Der Operand ist eine Zeichenkette
          aus vier Zeichen. Die ersten drei Zeichen bilden das internatio-
          nale Währungssymbol, wie bei ISO 4217:1987 festgelegt. Das vierte
          Zeichen ist das Trennzeichen zwischen Währungssymbol und monetä-
          rer Größe.

     char *currencysymbol
          Lokales Währungssymbol für die aktuelle lokale Umgebung.

     char *mondecimalpoint
          Dezimalpunkt für die Formatierung von monetären Größen. Im ISO-C
          Standard ist diese Komponente auf ein Byte beschränkt. Wenn ein
          Multibyte-Operand spezifiziert wird, ist das Ergebnis unbestimmt.

     char *monthousandssep
          Trennzeichen für Zifferngruppen links vom Dezimalpunkt in forma-
          tierten monetären Größen. Im ISO-C Standard ist diese Komponente
          auf ein Byte beschränkt. Wenn ein Multibyte-Operand spezifiziert
          wird, ist das Ergebnis unbestimmt.


















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

localeconv(3C)                                               localeconv(3C)

     char *mongrouping
          Größen aller Gruppen von Stellen in formatierten monetären Grö-
          ßen. Der Operand ist eine Folge ganzer Zahlen, die durch Semiko-
          lon voneinander getrennt sind. Jede Zahl gibt die Anzahl der
          Stellen in jeder Gruppe an, wobei die erste Zahl die Größe der
          Gruppe angibt, die direkt vor dem Dezimaltrennzeichen steht, und
          die folgenden Zahlen die vorangehenden Gruppen bestimmen. Wenn
          die letzte Zahl ungleich -1 ist, wird die vorhergehende Gruppe
          (falls es eine gibt) für den Rest der Stellen immer wieder ver-
          wendet. Wenn die letzte Zahl -1 ist, wird keine weitere Gruppie-
          rung durchgeführt.

     char *positivesign
          Zeichenkette, welche eine nichtnegative, formatierte, monetäre
          Größe anzeigt.

     char *negativesign
          Zeichenkette, welche eine negative, formatierte, monetäre Größe
          anzeigt.

     char intfracdigits
          Anzahl der Dezimalstellen, die in international formatierten
          monetären Größen angezeigt werden, wobei intcurrsymbol verwen-
          det wird.

     char fracdigits
          Anzahl der Dezimalstellen, die in einer formatierten monetären
          Größe dargestellt werden, wobei currencysymbol verwendet wird.

     char pcsprecedes
          wird auf 1 gesetzt, wenn currencysymbol oder intcurrsymbol dem
          Wert für eine monetäre Größe mit einem nicht-negativen Wert vor-
          angeht, und wird auf 0 gesetzt, wenn das Symbol auf den Wert
          folgt.




















Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

localeconv(3C)                                               localeconv(3C)

     char psepbyspace
          wird auf 0 gesetzt, wenn kein Leerzeichen zwischen
          currencysymbol oder intcurrsymbol und dem nicht-negativen Wert
          für eine monetäre Größe steht. Die Komponente wird auf 1 gesetzt,
          wenn ein Leerzeichen zwischen dem Symbol und dem Wert steht, uns
          sie wird auf 2 gesetzt, wenn ein Leerzeichen zwischen dem Symbol
          und einer angrenzenden Zeichenkette steht.

     char ncsprecedes
          Enthält diese Komponente den Wert 1, wird das Währungssymbol
          currencysymbol oder intcurrsymbol vor den Wert einer negati-
          ven, formatierten, monetären Größe geschrieben. Sonst wird die
          Komponente auf 0 gesetzt.

     char nsepbyspace
          Wird auf 1 gesetzt, wenn das Währungssymbol currencysymbol oder
          intcurrsymbol durch ein Leerzeichen vom Wert einer negativen,
          formatierten monetären Größe getrennt wird. Sonst wird die Kompo-
          nente auf 0 gesetzt.

     char psignposn
          Diese Komponente wird auf einen Wert gesetzt, der die Position
          des positiven Vorzeichens positivesign für eine nichtnegative,
          formatierte monetäre Größe angibt. Die Werte von psignposn und
          nsignposn werden wie folgt interpretiert:

          0  Die Größe und das Währungssymbol currencysymbol oder
             intcurrsymbol werden in Klammern gesetzt.

          1  Das Vorzeichen steht vor der Größe und dem Währungssymbol
             currencysymbol oder intcurrsymbol.

          2  Das Vorzeichen steht hinter der Größe und dem Währungssymbol
             currencysymbol oder intcurrsymbol.

          3  Das Vorzeichen steht direkt vor dem Währungssymbol
             currencysymbol oder intcurrsymbol.

          4  Das Vorzeichen steht direkt hinter dem Währungssymbol
             currencysymbol oder intcurrsymbol.

     char nsignposn
          Wird auf einen Wert gesetzt, der die Position des negativen Vor-
          zeichens negativesign für eine negative, formatierte, monetäre
          Größe angibt.

ERGEBNIS
     localeconv() liefert einen Zeiger auf das ausgefüllte Objekt. Die
     Struktur, auf die der Rückgabewert zeigt, kann durch einen weiteren
     Aufruf localeconv() überschrieben werden.




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

localeconv(3C)                                               localeconv(3C)

BEISPIELE
     Die folgende Tabelle demonstriert die Regeln zur Formatierung monetä-
     rer Größen anhand von vier Ländern:

     Land          Positives Format   Negatives Format   Internationales Format

     Italien       L.1.234            -L.1.234           ITL.1.234
     Niederlande   F 1.234,56         F -1.234,56        NLG 1.234,56
     Norwegen      kr1.234,56         kr1.234,56-        NOK 1.234,56
     Schweiz       SFrs.1,234.56      SFrs.1,234.56C     CHF 1,234.56

     Für diese vier Länder werden die entsprechenden Werte für die monetä-
     ren Komponenten von localeconv() wie folgt zurückgegeben:

                         Italien   Niederlande   Norwegen   Schweiz

     intcurrsymbol     "ITL."    "NLG "        "NOK "     "CHF "
     currencysymbol     "L."      "F"           "kr"       "SFrs."
     mondecimalpoint   ""        ","           ","        "."
     monthousandssep   "."       "."           "."        ","
     mongrouping        "\3"      "\3"          "\3"       "\3"
     positivesign       ""        ""            ""         ""
     negativesign       "-"       "-"           "-"        "C"
     intfracdigits     0         2             2          2
     fracdigits         0         2             2          2
     pcsprecedes       1         1             1          1
     psepbyspace      0         1             0          0
     ncsprecedes       1         1             1          1
     nsepbyspace      0         1             0          0
     psignposn         1         1             1          1
     nsignposn         1         4             2          2

DATEIEN
     /usr/lib/locale/locale/LCMONETARY
          LCMONETARY-Datenbank für locale

     /usr/lib/locale/locale/LCNUMERIC
          LCNUMERIC-Datenbank für locale

SIEHE AUCH
     chrtbl(1M), montbl(1M), setlocale(3C).













Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026