Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

LOCALECONV(3)            BSD Library Functions Manual            LOCALECONV(3)

     localeconv, localeconv_l -- natural language formatting for C

     Standard C Library (libc, -lc)

     #include <locale.h>

     struct lconv *

     #include <xlocale.h>

     struct lconv *
     localeconv_l(locale_t loc);

     The localeconv() function returns a pointer to a structure which provides parameters for formatting
     numbers, especially currency values:

           struct lconv {
                   char    *decimal_point;
                   char    *thousands_sep;
                   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    frac_digits;
                   char    p_cs_precedes;
                   char    p_sep_by_space;
                   char    n_cs_precedes;
                   char    n_sep_by_space;
                   char    p_sign_posn;
                   char    n_sign_posn;
                   char    int_p_cs_precedes;
                   char    int_n_cs_precedes;
                   char    int_p_sep_by_space;
                   char    int_n_sep_by_space;
                   char    int_p_sign_posn;
                   char    int_n_sign_posn;

     The individual fields have the following meanings:

     decimal_point      The decimal point character, except for currency values, cannot be an empty string.

     thousands_sep      The separator between groups of digits before the decimal point, except for currency

     grouping           The sizes of the groups of digits, except for currency values.  This is a pointer to
                        a vector of integers, each of size char, representing group size from low order
                        digit groups to high order (right to left).  The list may be terminated with 0 or
                        CHAR_MAX.  If the list is terminated with 0, the last group size before the 0 is
                        repeated to account for all the digits.  If the list is terminated with CHAR_MAX, no
                        more grouping is performed.

     int_curr_symbol    The standardized international currency symbol.

     currency_symbol    The local currency symbol.

     mon_decimal_point  The decimal point character for currency values.

     mon_thousands_sep  The separator for digit groups in currency values.

     mon_grouping       Like grouping but for currency values.

     positive_sign      The character used to denote nonnegative currency values, usually the empty string.

     negative_sign      The character used to denote negative currency values, usually a minus sign.

     int_frac_digits    The number of digits after the decimal point in an international-style currency

     frac_digits        The number of digits after the decimal point in the local style for currency values.

     p_cs_precedes      1 if the currency symbol precedes the currency value for nonnegative values, 0 if it

     p_sep_by_space     1 if a space is inserted between the currency symbol and the currency value for non-negative nonnegative
                        negative values, 0 otherwise.

     n_cs_precedes      Like p_cs_precedes but for negative values.

     n_sep_by_space     Like p_sep_by_space but for negative values.

     p_sign_posn        The location of the positive_sign with respect to a nonnegative quantity and the
                        currency_symbol, coded as follows:

                        0    Parentheses around the entire string.
                        1    Before the string.
                        2    After the string.
                        3    Just before currency_symbol.
                        4    Just after currency_symbol.

     n_sign_posn        Like p_sign_posn but for negative currency values.

     int_p_cs_precedes  Same as p_cs_precedes, but for internationally formatted monetary quantities.

     int_n_cs_precedes  Same as n_cs_precedes, but for internationally formatted monetary quantities.

                        Same as p_sep_by_space, but for internationally formatted monetary quantities.

                        Same as n_sep_by_space, but for internationally formatted monetary quantities.

     int_p_sign_posn    Same as p_sign_posn, but for internationally formatted monetary quantities.

     int_n_sign_posn    Same as n_sign_posn, but for internationally formatted monetary quantities.

     Unless mentioned above, an empty string as a value for a field indicates a zero length result or a
     value that is not in the current locale.  A CHAR_MAX result similarly denotes an unavailable value.

     While the localeconv() function uses the current locale, the localeconv_l() function may be passed a
     locale directly. See xlocale(3) for more information.

     The localeconv() function returns a pointer to a static object which may be altered by later calls to
     setlocale(3) or localeconv().

     No errors are defined.

     setlocale(3), strfmon(3), xlocale(3)

     The localeconv() function conforms to ISO/IEC 9899:1999 (``ISO C99'').

     The localeconv() function first appeared in 4.4BSD.

BSD                            November 21, 2003                           BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.