LOCALECONV(3)

๐Ÿ“ฆ
version 15.1 ยท 2 versions
, in freebsd 15.1

๐Ÿ’… LOCALECONV(3) โ€” natural language formatting for C, bestie ๐Ÿ’…

okay so this is the Library Functions Manual page for localeconv(3), and we're gonna make it make sense.

๐ŸŒธ NAME ๐ŸŒธ

localeconv โ€” natural language formatting for C

๐Ÿ“š LIBRARY ๐Ÿ“š

Standard C Library (libc, -lc) โ€” iconic, obviously.

โœจ SYNOPSIS โœจ

#include <locale.h>

struct lconv *
localeconv(void);

#include <xlocale.h>

struct lconv *
localeconv_l(locale_t locale);

๐Ÿ’– DESCRIPTION ๐Ÿ’–

okay so 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 are giving:

  • 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 values.
  • 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 value.
  • 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 follows.
  • p_sep_by_space โ€” 1 if a space is inserted between the currency symbol and the currency value for nonnegative 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.
  • int_p_sep_by_space โ€” Same as p_sep_by_space, but for internationally formatted monetary quantities.
  • int_n_sep_by_space โ€” 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.

The localeconv_l() function takes an explicit locale parameter. For more information, see xlocale(3).

๐Ÿซถ RETURN VALUES ๐Ÿซถ

heads up, bestie: the localeconv() function returns a pointer to a static object which may be altered by later calls to setlocale(3) or localeconv().

The return value for localeconv_l() is stored with the locale. It will remain valid until a subsequent call to freelocale(3).

If a thread-local locale is in effect then the return value from localeconv() will remain valid until the locale is destroyed.

๐Ÿ’€ ERRORS ๐Ÿ’€

No errors are defined.

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

๐ŸŒˆ STANDARDS ๐ŸŒˆ

The localeconv() function conforms to ISO/IEC 9899:1999 (โ€œISO C99โ€).

โญ HISTORY โญ

The localeconv() function first appeared in 4.4BSD.


okay that's the whole page, fr fr โ€” Debian, November 21, 2003, signing off with kisses ๐Ÿ’‹๐ŸŽ€โœจ

๐Ÿ“ฆ where this page comes from
  • freebsd 15.1: base 15.1
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms