LOCALECONV(3) | FreeBSD Library Functions Manual | LOCALECONV(3) |
NAME
localeconv — natural language formatting for CLIBRARY
Standard C Library (libc, -lc)SYNOPSIS
#include < locale.h> struct lconv *
localeconv( void);
#include < xlocale.h>
struct lconv *
localeconv_l( locale_t locale);
DESCRIPTION
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 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
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.STANDARDS
The localeconv() function conforms to ISO/IEC 9899:1999 (“ISO C99”).HISTORY
The localeconv() function first appeared in 4.4BSD.November 21, 2003 | FreeBSD |