std::lconv
來自 cppreference.com
定義於標頭檔案 <clocale> |
||
struct lconv; |
||
類 std::lconv
包含由 C 區域設定定義的數字和貨幣格式化規則。此結構的物件可以透過 std::localeconv 獲取。std::lconv
的成員是 char 型別和 char* 型別的值。除了 decimal_point
之外,每個 char* 成員都可能指向一個空字元(即一個空的 C 字串)。char 型別的成員都是非負數,如果當前 C 區域設定中沒有相應的值,則任何一個都可能是 CHAR_MAX。
目錄 |
[編輯] 成員物件
[編輯] 非貨幣數字格式引數
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 |
當前 C 區域設定中用於貨幣的符號 (公有成員物件) |
char frac_digits |
貨幣數量中顯示的小數點後的位數 (公有成員物件) |
char p_cs_precedes |
如果 currency_symbol 放在非負值之前為 1,如果放在之後則為 0 (公有成員物件) |
char n_cs_precedes |
如果 currency_symbol 放在負值之前為 1,如果放在之後則為 0 (公有成員物件) |
char p_sep_by_space |
指示 currency_symbol 、positive_sign 和非負貨幣值之間的分隔(公有成員物件) |
char n_sep_by_space |
指示 currency_symbol 、negative_sign 和負貨幣值之間的分隔(公有成員物件) |
char p_sign_posn |
指示 positive_sign 在非負貨幣值中的位置(公有成員物件) |
char n_sign_posn |
指示 negative_sign 在負貨幣值中的位置(公有成員物件) |
[編輯] 國際貨幣數字格式引數
char* int_curr_symbol |
當前 C 區域設定中用作國際貨幣名稱的字串 (公有成員物件) |
char int_frac_digits |
國際貨幣數量中顯示的小數點後的位數 (公有成員物件) |
char int_p_cs_precedes (C++11) |
如果 int_curr_symbol 放在非負國際貨幣值之前為 1,如果放在之後則為 0 (公有成員物件) |
char int_n_cs_precedes (C++11) |
如果 int_curr_symbol 放在負國際貨幣值之前為 1,如果放在之後則為 0 (公有成員物件) |
char int_p_sep_by_space (C++11) |
指示 int_curr_symbol 、positive_sign 和非負國際貨幣值之間的分隔(公有成員物件) |
char int_n_sep_by_space (C++11) |
指示 int_curr_symbol 、negative_sign 和負國際貨幣值之間的分隔(公有成員物件) |
char int_p_sign_posn (C++11) |
指示 positive_sign 在非負國際貨幣值中的位置(公有成員物件) |
char int_n_sign_posn (C++11) |
指示 negative_sign 在負國際貨幣值中的位置(公有成員物件) |
由 grouping
和 mon_grouping
指向的 C 字串的字元根據其數字值進行解釋。當遇到終止的 '\0' 時,最後一個值被假定為在剩餘數字中重複。如果遇到 CHAR_MAX,則不再對數字進行分組。典型的一次分組三個數字是 "\003"。
p_sep_by_space
、n_sep_by_space
、int_p_sep_by_space
、int_n_sep_by_space
的值解釋如下:
0 | 貨幣符號和值之間沒有空格 |
1 | 符號緊貼貨幣符號,值由空格分隔 |
2 | 符號緊貼值。貨幣符號由空格分隔 |
p_sign_posn
、n_sign_posn
、int_p_sign_posn
、int_n_sign_posn
的值解釋如下:
0 | 值和貨幣符號周圍使用括號表示符號 |
1 | 符號在值和貨幣符號之前 |
2 | 符號在值和貨幣符號之後 |
3 | 符號在貨幣符號之前 |
4 | 符號在貨幣符號之後 |
[編輯] 示例
執行此程式碼
#include <clocale> #include <iostream> int main() { std::setlocale(LC_ALL, "ja_JP.UTF-8"); std::lconv* lc = std::localeconv(); std::cout << "Japanese currency symbol: " << lc->currency_symbol << '(' << lc->int_curr_symbol << ")\n"; }
輸出
Japanese currency symbol: ¥(JPY )
[編輯] 另請參閱
查詢當前區域設定的數字和貨幣格式詳細資訊 (函式) | |
定義數字標點規則 (類模板) | |
定義 std::money_get 和 std::money_put 使用的貨幣格式引數 (類模板) | |
C 文件 用於 lconv
|