typedef struct { 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; } lconv;
lconv structure holds formatting information on how numeric values are to be written. Note that the order of fields in this structure is not consistent between implementations, nor is it consistent between C89 and C99 standards.
The members decimal_point, grouping, and thousands_sep are controlled by LC_NUMERIC, the remainder by LC_MONETARY.
The members int_n_cs_precedes, int_n_sep_by_space, int_n_sign_posn, int_p_cs_precedes, int_p_sep_by_space. and int_p_sign_posn are added by the C99 standard.
We have standardized on the ordering specified by the ARM EABI for the base of this structure. This ordering is neither that of C89 nor C99.
Member | Description |
currency_symbol | Local currency symbol. |
decimal_point | Decimal point separator. |
frac_digits | Amount of fractional digits to the right of the decimal point for monetary quantities in the local format. |
grouping | Specifies the amount of digits that form each of the groups to be separated by thousands_sep separator for non-monetary quantities. |
int_curr_symbol | International currency symbol. |
int_frac_digits | Amount of fractional digits to the right of the decimal point for monetary quantities in the international format. |
mon_decimal_point | Decimal-point separator used for monetary quantities. |
mon_grouping | Specifies the amount of digits that form each of the groups to be separated by mon_thousands_sep separator for monetary quantities. |
mon_thousands_sep | Separators used to delimit groups of digits to the left of the decimal point for monetary quantities. |
negative_sign | Sign to be used for negative monetary quantities. |
n_cs_precedes | Whether the currency symbol should precede negative monetary quantities. |
n_sep_by_space | Whether a space should appear between the currency symbol and negative monetary quantities. |
n_sign_posn | Position of the sign for negative monetary quantities. |
positive_sign | Sign to be used for nonnegative (positive or zero) monetary quantities. |
p_cs_precedes | Whether the currency symbol should precede nonnegative (positive or zero) monetary quantities. |
p_sep_by_space | Whether a space should appear between the currency symbol and nonnegative (positive or zero) monetary quantities. |
p_sign_posn | Position of the sign for nonnegative (positive or zero) monetary quantities. |
thousands_sep | Separators used to delimit groups of digits to the left of the decimal point for non-monetary quantities. |