名稱空間
變體
操作

std::lconv

來自 cppreference.com
< cpp‎ | locale
 
 
 
 
定義於標頭檔案 <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_symbolpositive_sign 和非負貨幣值之間的分隔
(公有成員物件)
char n_sep_by_space
指示 currency_symbolnegative_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_symbolpositive_sign 和非負國際貨幣值之間的分隔
(公有成員物件)
char int_n_sep_by_space
(C++11)
指示 int_curr_symbolnegative_sign 和負國際貨幣值之間的分隔
(公有成員物件)
char int_p_sign_posn
(C++11)
指示 positive_sign 在非負國際貨幣值中的位置
(公有成員物件)
char int_n_sign_posn
(C++11)
指示 negative_sign 在負國際貨幣值中的位置
(公有成員物件)


groupingmon_grouping 指向的 C 字串的字元根據其數字值進行解釋。當遇到終止的 '\0' 時,最後一個值被假定為在剩餘數字中重複。如果遇到 CHAR_MAX,則不再對數字進行分組。典型的一次分組三個數字是 "\003"

p_sep_by_spacen_sep_by_spaceint_p_sep_by_spaceint_n_sep_by_space 的值解釋如下:

0 貨幣符號和值之間沒有空格
1 符號緊貼貨幣符號,值由空格分隔
2 符號緊貼值。貨幣符號由空格分隔

p_sign_posnn_sign_posnint_p_sign_posnint_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_getstd::money_put 使用的貨幣格式引數
(類模板) [編輯]
C 文件 用於 lconv