C 標準函式庫 - <locale.h>
簡介
locale.h 頭檔定義了特定地域的設置,例如日期格式和貨幣符號。接下來我們將介紹一些宏,以及一個重要的結構 struct lconv 和兩個重要的函數。
庫宏
下面列出了頭檔locale.h 中定義的宏,這些宏將在下列的兩個函數中使用:
#序號 | 巨集& 描述 |
---|---|
1 | LC_ALL##設定下面的所有選項。 |
LC_COLLATE#影響 strcoll 和 strxfrm 函數。 | |
LC_CTYPE#影響所有字元函數。 | |
LC_MONETARY#影響 localeconv 函數提供的貨幣資訊。 | |
LC_NUMERIC#影響 localeconv 函數提供的小數點格式化和資訊。 | |
LC_TIME#影響 strftime 函數。 |
函數& 描述 | |
---|---|
char *setlocale(int category, const char *locale) | 設定或讀取地域化資訊。 |
struct lconv *localeconv(void) | 設定或讀取地域化資訊。 |
#序號 | 字段& 描述 |
---|---|
1 | decimal_point 用於非貨幣值的小數點字元。 |
2 | thousands_sep 用於非貨幣值的千位分隔符號。 |
3 | grouping 一個表示非貨幣量中每組數字大小的字串。每個字元代表一個整數值,每個整數指定目前組的位數。值為 0 表示前一個值將應用於剩餘的分組。 |
4 | int_curr_symbol 國際貨幣符號所使用的字串。前三個字元是由 ISO 4217:1987 指定的,第四個字元用於分隔貨幣符號和貨幣量。 |
5 | currency_symbol 用於貨幣的本地符號。 |
6 | mon_decimal_point 用於貨幣值的小數點字元。 |
7 | mon_thousands_sep 用於貨幣值的千位分隔符號。 |
8 | mon_grouping #一個表示貨幣值中每組數字大小的字串。每個字元代表一個整數值,每個整數指定目前組的位數。值為 0 表示前一個值將應用於剩餘的分組。 |
9 | positive_sign #用於正貨幣值的字元。 |
10 | negative_sign 用於負貨幣值的字元。 |
11 | int_frac_digits 國際貨幣值中小數點後要顯示的位數。 |
12 | frac_digits 貨幣值中小數點後要顯示的位元數。 |
13 | p_cs_precedes 如果等於 1,則 currency_symbol 出現在正貨幣值之前。如果等於 0,則 currency_symbol 出現在正貨幣值之後。 |
14 | p_sep_by_space 如果等於 1,則 currency_symbol 和正貨幣值之間使用空格分隔。如果等於 0,則 currency_symbol 和正貨幣值之間不使用空格分隔。 |
15 | n_cs_precedes 如果等於 1,則 currency_symbol 出現在負貨幣值之前。如果等於 0,則 currency_symbol 出現在負貨幣值之後。 |
16 | n_sep_by_space 如果等於 1,則 currency_symbol 和負貨幣值之間使用空格分隔。如果等於 0,則 currency_symbol 和負貨幣值之間不使用空格分隔。 |
17 | p_sign_posn 表示正貨幣值中正號的位置。 |
18 | n_sign_posn 表示負貨幣值中負號的位置。 |
下面的值用於p_sign_posn 和n_sign_posn:
值 | ##描述說明|
---|---|
封裝值和currency_symbol 的括號。 | |
放置在值和 currency_symbol 之前的符號。 | |
放置在值和 currency_symbol 之後的符號。 | |
緊鄰放置在值和 currency_symbol 之前的符號。 | |
緊鄰放置在值和 currency_symbol 之後的符號。 |