Standard C Library Functions                       localeconv(3C)


NAME

     localeconv - get numeric formatting information


SYNOPSIS

     #include <locale.h>

     struct lconv *localeconv(void);


DESCRIPTION

     The localeconv() function sets the components of  an  object
     with  type  struct  lconv  (defined  in <locale.h>) with the
     values appropriate for the formatting of numeric  quantities
     (monetary  and  otherwise)  according  to  the  rules of the
     current  locale  (see  setlocale(3C)).   The  definition  of
     struct  lconv  is given  below (the values for the fields in
     the "C" locale are given in comments).

       char *decimal_point;        /* "." */
       char *thousands_sep;        /* "" (zero length string) */
       char *grouping;             /* "" */
       char *int_curr_symbol;      /* "" */
       char *currency_symbol;      /* "" */
       char *mon_decimal_point;    /* "" */
       char *mon_thousands_sep;    /* "" */
       char *mon_grouping;         /* "" */
       char *positive_sign;        /* "" */
       char *negative_sign;        /* "" */
       char int_frac_digits;       /* CHAR_MAX */
       char frac_digits;           /* CHAR_MAX */
       char p_cs_precedes;         /* CHAR_MAX */
       char p_sep_by_space;        /* CHAR_MAX */
       char n_cs_precedes;         /* CHAR_MAX */
       char n_sep_by_space;        /* CHAR_MAX */
       char p_sign_posn;           /* CHAR_MAX*/
       char n_sign_posn;           /* CHAR_MAX */

     The following members are also available to SUSv3-conforming
     applications.  See standards(5)

       char int_p_cs_precedes;     /* CHAR_MAX */
       char int_p_sep_by_space;    /* CHAR_MAX */
       char int_n_cs_precedes;     /* CHAR_MAX */
       char int_n_sep_by_space;    /* CHAR_MAX */
       char int_p_sign_posn;       /* CHAR_MAX */
       char int_n_sign_posn;       /* CHAR_MAX */

SunOS 5.11          Last change: 12 Dec 2003                    1


Standard C Library Functions                       localeconv(3C)

     The members of the structure with type char *  are  strings,
     any  of  which  (except  decimal_point)  can point to a null
     string (""), to indicate that the value is not available  in
     the  current  locale  or is of zero length. The members with
     type char are non-negative numbers,  any  of  which  can  be
     CHAR_MAX (defined in the <limits.h> header) to indicate that
     the value is  not  available  in  the  current  locale.  The
     members are the following:

     char *decimal_point        The decimal-point character  used
                                to  format  non-monetary  quanti-
                                ties.

     char *thousands_sep        The character  used  to  separate
                                groups  of  digits to the left of
                                the  decimal-point  character  in
                                formatted   non-monetary  quanti-
                                ties.

     char *grouping             A string whose elements taken  as
                                one-byte  integer values indicate
                                the size of each group of  digits
                                in formatted non-monetary quanti-
                                ties.

     char *int_curr_symbol      The international currency symbol
                                applicable to the current locale.
                                The first three  characters  con-
                                tain the alphabetic international
                                currency  symbol  in   accordance
                                with  those  specified in the ISO
                                4217: 1995 standard.  The  fourth
                                character  (immediately preceding
                                the null byte) is  the  character
                                used  to  separate  the  interna-
                                tional currency symbol  from  the
                                monetary quantity.

     char *currency_symbol      The local currency symbol  appli-
                                cable to the current locale.

     char *mon_decimal_point    The decimal point used to  format
                                monetary quantities.

     char *mon_thousands_sep    The  separator  for   groups   of
                                digits to the left of the decimal

SunOS 5.11          Last change: 12 Dec 2003                    2


Standard C Library Functions                       localeconv(3C)

                                point in formatted monetary quan-
                                tities.

     char *mon_grouping         A string whose elements taken  as
                                one-byte  integer values indicate
                                the size of each group of  digits
                                in formatted monetary quantities.

     char *positive_sign        The string  used  to  indicate  a
                                non-negative-valued     formatted
                                monetary quantity.

     char *negative_sign        The string  used  to  indicate  a
                                negative-valued  formatted  mone-
                                tary quantity.

     char int_frac_digits       The number of  fractional  digits
                                (those   to   the  right  of  the
                                decimal point) to be displayed in
                                an    internationally   formatted
                                monetary quantity.

     char frac_digits           The number of  fractional  digits
                                (those   to   the  right  of  the
                                decimal point) to be displayed in
                                a formatted monetary quantity.

     char p_cs_precedes         Set   to   1   or   0   if    the
                                currency_symbol respectively pre-
                                cedes or succeeds the value for a
                                non-negative  formatted  monetary
                                quantity.

     char p_sep_by_space        Set to 0 if  no  space  separates
                                the       currency_symbol      or
                                int_curr_symbol  from  the  value
                                for   a   non-negative  formatted
                                monetary quantity. Set to 1 if  a
                                space  separates  the symbol from
                                the value; and  set  to  2  if  a
                                space  separates  the  symbol and
                                the sign string, if adjacent.

SunOS 5.11          Last change: 12 Dec 2003                    3


Standard C Library Functions                       localeconv(3C)

     char n_cs_precedes         Set   to   1   or   0   if    the
                                currency_symbol respectively pre-
                                cedes or succeeds the value for a
                                negative formatted monetary quan-
                                tity.

     char n_sep_by_space        Set to 0 if  no  space  separates
                                the       currency_symbol      or
                                int_curr_symbol  from  the  value
                                for a negative formatted monetary
                                quantity. Set to  1  if  a  space
                                separates  the  symbol  from  the
                                value; and set to 2  if  a  space
                                separates the symbol and the sign
                                string, if adjacent.

     char p_sign_posn           Set to  a  value  indicating  the
                                positioning  of the positive_sign
                                for  a   non-negative   formatted
                                monetary quantity.

     char n_sign_posn           Set to  a  value  indicating  the
                                positioning  of the negative_sign
                                for a negative formatted monetary
                                quantity.

     char int_p_cs_precedes     Set   to   1   or   0   if    the
                                int_curr_symbol respectively pre-
                                cedes or succeeds the value for a
                                non-negative internationally for-
                                matted monetary quantity.

     char int_n_cs_precedes     Set   to   1   or   0   if    the
                                int_curr_symbol respectively pre-
                                cedes or succeeds the value for a
                                negative  internationally format-
                                ted monetary quantity.

     char int_p_sep_by_space    Set to  a  value  indicating  the
                                separation         of         the
                                int_curr_symbol, the sign string,
                                and  the value for a non-negative
                                internationally  formatted  mone-
                                tary quantity.

SunOS 5.11          Last change: 12 Dec 2003                    4


Standard C Library Functions                       localeconv(3C)

     char int_n_sep_by_space    Set to  a  value  indicating  the
                                separation         of         the
                                int_curr_symbol, the sign string,
                                and  the  value  for  a  negative
                                internationally  formatted  mone-
                                tary quantity.

     char int_p_sign_posn       Set to  a  value  indicating  the
                                positioning  of the positive_sign
                                for a  non-negative  internation-
                                ally formatted monetary quantity.

     char int_n_sign_posn       Set to  a  value  indicating  the
                                positioning  of the negative_sign
                                for  a  negative  internationally
                                formatted monetary quantity.

     The elements of grouping and  mon_grouping  are  interpreted
     according to the following:

     {CHAR_MAX}    No further grouping is to be performed.

     0             The previous element is to be repeatedly  used
                   for the remainder of the digits.

     other         The integer value is the number of digits that
                   comprise  the current group.  The next element
                   is examined to determine the size of the  next
                   group of digits before the current group.

     The    values     of     p_sep_by_space,     n_sep_by_space,
     int_p_sep_by_space,  and  int_n_sep_by_space are interpreted
     according to the following:

     0    No space separates the currency symbol and value.

     1    If the currency symbol and sign string are adjacent,  a
          space separates them from the value; otherwise, a space
          separates the currency symbol from the value.

     2    If the currency symbol and sign string are adjacent,  a
          space  separates them; otherwise, a space separates the

SunOS 5.11          Last change: 12 Dec 2003                    5


Standard C Library Functions                       localeconv(3C)

          sign string from the value.

     In an SUSv3-conforming application,  for  int_p_sep_by_space
     and    int_n_sep_by_space,    the    fourth   character   of
     int_curr_symbol is used instead of a space.

     The values of p_sign_posn, n_sign_posn, int_p_sign_posn, and
     int_n_sign_posn are interpreted according to the following:

     0    Parentheses surround the quantity  and  currency_symbol
          or int_curr_symbol.

     1    The   sign   string   precedes   the    quantity    and
          currency_symbol or int_curr_symbol.

     2    The   sign   string   succeeds   the    quantity    and
          currency_symbol or int_curr_symbol.

     3    The    sign    string    immediately    precedes    the
          currency_symbol or int_curr_symbol.

     4    The    sign    string    immediately    succeeds    the
          currency_symbol or int_curr_symbol.


RETURN VALUES

     The localeconv() function returns a pointer to the filled-in
     object.  The structure pointed to by the return value may be
     overwritten by a subsequent call to localeconv().


EXAMPLES

     Example 1 Rules used by four countries  to  format  monetary
     quantities.

     The following table illustrates the rules used by four coun-
     tries to format monetary quantities.

     Country            Positive         Negative         International
     ___________________________________________________________________
     Italy (IT)         L.1.234          -L.1.234         ITL.1.234
     ___________________________________________________________________

SunOS 5.11          Last change: 12 Dec 2003                    6


Standard C Library Functions                       localeconv(3C)

     Netherlands (NE)   F 1.234,56       F -1.234,56      NLG 1.234,56
     ___________________________________________________________________
     Norway (NO)        kr1.234,56       kr1.234,56-      NOK 1.234,56
     ___________________________________________________________________
     Switzerland (SW)   SFrs.1,234.56    SFrs.1,234.56C   CHF 1,234.56
                     |                |                |
                     |                |                |
                     |                |                |
     For these four countries,  the  respective  values| for  the
     monetary  members  of the structure returned by localeconv()
     are as follows: |                |                |
                     |                |                |
                     |                |                |
                     |                |                |
                     |                |                |
                     |                |                |       IT       NE       NO       SW
     int_curr_symbol |                |                |       "ITL."   "NLG "   "NOK "   "CHF "
     currency_symbol |                |                |       "L."     "F"      "kr"     "SFrs."
     mon_decimal_point                |                |       ""       ","      ","      "."
     mon_thousands_sep                |                |       "."      "."      "."      ","
     mon_grouping    |                |                |       "\3"     "\3"     "\3"     "\3"
     positive_sign   |                |                |       ""       ""       ""       ""
     negative_sign   |                |                |       "-"      "-"      "-"      "C"
     int_frac_digits |                |                |       0        2        2        2
     frac_digits     |                |                |       0        2        2        2
     p_cs_precedes   |                |                |       1        1        1        1
     p_sep_by_space  |                |                |       0        1        0        0
     n_cs_precedes   |                |                |       1        1        1        1
     n_sep_by_space  |                |                |       0        1        0        0
     p_sign_posn     |                |                |       1        1        1        1
     n_sign_posn     |                |                |       1        4        2        2
     int_p_cs_precedes                |                |       1        1        1        1
     int_n_cs_precedes                |                |       1        1        1        1
     int_p_sep_by_space               |                |       0        0        0        0
     int_n_sep_by_space               |                |       0        0        0        0
     int_p_sign_posn |                |                |       1        1        1        1
     int_n_sign_posn |                |                |       1        4        4        2
                     |                |                |
                     |                |                |

ATTRIBUTES | | |

     See attributes(5) for descriptions of the  following  attri-
     butes:          |                |                |
                     |                |                |
                     |                |                |
                     |                |                |
                     |                |                |
                     |                |                |
                     |                |                |

SunOS 5.11          Last change: 12 Dec 2003                    7


Standard C Library Functions                       localeconv(3C)

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | CSI                         | Enabled                     |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|
    | MT-Level                    | MT-Safe with exceptions     |
    |_____________________________|_____________________________|

     The  localeconv()  function  can  be  used  safely  in  mul-
     tithreaded  applications,  as  long  as setlocale(3C) is not
     being called to change the locale.


SEE ALSO

     setlocale(3C), attributes(5), environ(5), standards(5)

SunOS 5.11          Last change: 12 Dec 2003                    8


Man(1) output converted with man2html


FhG Schily's Home VED powered