NAME
localeconv
—
retrieve parameters for
locale-dependent formatting of numbers
SYNOPSIS
#include
<locale.h>
struct lconv *
localeconv
(void);
DESCRIPTION
The
localeconv
()
function returns a pointer to a static structure which provides parameters
for locale(1)-dependent formatting of numbers. On
OpenBSD, nothing in the returned structure ever
changes. On other operating systems, the contents of the structure may vary
according to the LC_NUMERIC
and
LC_MONETARY
locale categories.
It provides the following fields of type char *:
- decimal_point
- The decimal point character, except for currency values.
- 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 withCHAR_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 non-negative currency values, usually the empty string.
- negative_sign
- The character used to denote negative currency values, usually a minus sign.
It also provides the following fields of type char:
- 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 non-negative values, 0 if it follows.
- p_sep_by_space
- 1 if a space is inserted between the currency symbol and the currency value for non-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
non-negative 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
- Like p_cs_precedes but for the international symbol.
- int_n_cs_precedes
- Like n_cs_precedes but for the international symbol.
- int_p_sep_by_space
- Like p_sep_by_space but for the international symbol.
- int_n_sep_by_space
- Like n_sep_by_space but for the international symbol.
- int_p_sign_posn
- Like p_sign_posn but for the international symbol.
- int_n_sign_posn
- Like n_sign_posn but for the international symbol.
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.
SEE ALSO
STANDARDS
The localeconv
() function conforms to
ANSI X3.159-1989
(“ANSI C89”).
HISTORY
The localeconv
() function first appeared
in 4.3BSD-Net/2.