lconv(3type)
π lconv β the numeric formatting glow-up guide π
okay bestie, welcome to lconv(3type), the manual page for the struct that holds all your numeric formatting info. it's giving "I just want my numbers to look cute in every locale" energy and honestly? we stan. π
β¨ NAME β¨
lconv β numeric formatting information
π LIBRARY π
Standard C library (libc) β the og, the blueprint, the mother of all libraries fr fr.
π¦ SYNOPSIS π¦
#include <locale.h>
struct lconv { /* Values in the "C" locale: */
char *decimal_point; /* "." */
char *thousands_sep; /* "" */
char *grouping; /* "" */
char *mon_decimal_point; /* "" */
char *mon_thousands_sep; /* "" */
char *mon_grouping; /* "" */
char *positive_sign; /* "" */
char *negative_sign; /* "" */
char *currency_symbol; /* "" */
char frac_digits; /* CHAR_MAX */
char p_cs_precedes; /* CHAR_MAX */
char n_cs_precedes; /* CHAR_MAX */
char p_sep_by_space; /* CHAR_MAX */
char n_sep_by_space; /* CHAR_MAX */
char p_sign_posn; /* CHAR_MAX */
char n_sign_posn; /* CHAR_MAX */
char *int_curr_symbol; /* "" */
char int_frac_digits; /* CHAR_MAX */
char int_p_cs_precedes; /* CHAR_MAX */
char int_n_cs_precedes; /* CHAR_MAX */
char int_p_sep_by_space; /* CHAR_MAX */
char int_n_sep_by_space; /* CHAR_MAX */
char int_p_sign_posn; /* CHAR_MAX */
char int_n_sign_posn; /* CHAR_MAX */
};
no cap, that's the whole struct. every member up there is real and every comment is the actual value it takes in the "C" locale. π
πΈ DESCRIPTION πΈ
So. This struct is a little container full of members that are all about formatting numeric values. That's literally it β it's the lookup table your library uses when it needs to know "does the decimal point go here, does the currency symbol go before or after, do we group digits with commas or spaces or nothing at all". π
And the tea: in the "C" locale, the members have exactly the values shown in the comments above. So decimal_point is ".", basically everything else string-wise is "" (empty), and all the char fields are CHAR_MAX. No drama, no surprises, just the default vibe. π
β STANDARDS β
C11, POSIX.1-2024. certified. respected. periodt.
π°οΈ HISTORY π°οΈ
lconv has been around since SUSv1, POSIX.1-2001 β so like, it's an elder and we respect our elders. π
Then some of its members showed up later:
.int_p_cs_precedes.int_n_cs_precedes.int_p_sep_by_space.int_n_sep_by_space.int_p_sign_posn.int_n_sign_posn
All six of those arrived in POSIX.1-2001. the international currency glow-up, if you will. β¨
π SEE ALSO π
iykyk β go read localeconv(3) next, that's the one that actually hands you one of these structs.
reminder bestie: don't go editing the struct or assuming behaviour that isn't written here. this page tells you what the type is, not what every function does with it. facts only, no speculation, that's the rule. π«Ά
and that's a wrap! this page came to you from Linux man-pages 6.20, dated 2026-02-08. slay, thanks for reading, go format some numbers. ππΈπ¦
π¦ where this page comes from
- arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages 6.20
- π the page's license: Linux-man-pages-copyleft
- Copyright 2020, Michael Kerrisk <mtk.manpages@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms