型別
<clocale>

struct lconv

struct lconv;
數值的格式化資訊
此結構體包含關於如何寫入數值(包括貨幣和非貨幣值)的格式化資訊。

函式 localeconv 返回一個此型別的物件。

它包含以下成員(不一定按此順序):

成員常量

成員型別在 "C" locale 中的值描述
decimal_pointchar*"."用於非貨幣量的小數點分隔符。
thousands_sepchar*""用於分隔非貨幣量小數點左側數字組的分隔符。
groupingchar*""為非貨幣量指定由 thousands_sep 分隔的每個數字組的位數。這是一個以零結尾的 char 值序列,從右開始的每個連續組可能包含不同的分組大小,每個數字表示該組的位數;此字串中結尾零之前的最後一個數字用於其餘的組。例如,假設 thousand_sep 設定為 "," 並且要表示的數字是一百萬 (1000000)
grouping 設定為 "\3" 時,該數字將表示為:1,000,000
grouping 設定為 "\1\2\3" 時,該數字將表示為:1,000,00,0
grouping 設定為 "\3\1" 時,該數字將表示為:1,0,0,0,000
CHAR_MAX 表示不再執行進一步的分組。
int_curr_symbolchar*""國際貨幣符號。它由貨幣的三字母 ISO-4217 條目程式碼組成,例如美元的 "USD" 或英鎊的 "GBP",後跟用於將此符號與貨幣量分開的字元。
currency_symbolchar*""本地貨幣符號,例如 "$"
mon_decimal_pointchar*""用於貨幣量的小數點分隔符。
mon_thousands_sepchar*""用於分隔貨幣量小數點左側數字組的分隔符。
mon_groupingchar*""為貨幣量指定由 mon_thousands_sep 分隔的每個數字組的位數。請參見上面的 grouping 描述。
positive_signchar*""用於非負(正數或零)貨幣量的符號。
negative_signchar*""用於負貨幣量的符號。
frac_digitscharCHAR_MAX在本地格式中,貨幣量小數點右側的小數位數。
p_cs_precedescharCHAR_MAX貨幣符號是否應位於非負(正數或零)貨幣量之前。如果此值為 1,則貨幣符號應在前;如果為 0,則應在後。
n_cs_precedescharCHAR_MAX貨幣符號是否應位於負貨幣量之前。如果此值為 1,則貨幣符號應在前;如果為 0,則應在後。
p_sep_by_spacecharCHAR_MAX貨幣符號和非負(正數或零)貨幣量之間是否應有空格。如果此值為 1,則應有空格;如果為 0,則不應有。
n_sep_by_spacecharCHAR_MAX貨幣符號和負貨幣量之間是否應有空格。如果此值為 1,則應有空格;如果為 0,則不應有。
p_sign_posncharCHAR_MAX非負(正數或零)貨幣量符號的位置
0:貨幣符號和數量被括號包圍。
1:符號在數量和貨幣符號之前。
2:符號在數量和貨幣符號之後。
3:符號緊鄰貨幣符號之前。
4:符號緊鄰貨幣符號之後。
CHAR_MAX:未指定。
n_sign_posncharCHAR_MAX負貨幣量符號的位置。請參見上面的 p_sign_posn
int_frac_digitscharCHAR_MAXfrac_digits 相同,但用於國際格式(而非本地格式)。
int_p_cs_precedescharCHAR_MAXp_cs_precedes 相同,但用於國際格式
int_n_cs_precedescharCHAR_MAXn_cs_precedes 相同,但用於國際格式
int_p_sep_by_spacecharCHAR_MAXp_sep_by_space 相同,但用於國際格式
int_n_sep_by_spacecharCHAR_MAXn_sep_by_space 相同,但用於國際格式
int_p_sign_posncharCHAR_MAXp_sign_posn 相同,但用於國際格式
int_n_sign_posncharCHAR_MAXn_sign_posn 相同,但用於國際格式

對於 char* 型別的成員,值為 "",或對於 char 型別的成員,值為 CHAR_MAX,表示該值在當前 locale 中不可用

相容性

int_pint_n 開頭的成員(上方黃色高亮部分)是為符合 1999 年或之後 C 標準的庫定義的(C++ 標準自 2011 年起才要求:C++11)。

另見