C ไลบรารี - <locale.h>
locale.hส่วนหัวกำหนดการตั้งค่าเฉพาะตำแหน่งเช่นรูปแบบวันที่และสัญลักษณ์สกุลเงิน คุณจะพบมาโครหลายตัวที่กำหนดพร้อมกับโครงสร้างที่สำคัญstruct lconv และฟังก์ชั่นที่สำคัญสองรายการด้านล่าง
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัวและมาโครเหล่านี้จะถูกใช้ในสองฟังก์ชันตามรายการด้านล่าง -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | LC_ALL ตั้งค่าทุกอย่าง |
2 | LC_COLLATE ส่งผลต่อฟังก์ชัน strcoll และ strxfrm |
3 | LC_CTYPE ส่งผลต่อฟังก์ชันอักขระทั้งหมด |
4 | LC_MONETARY มีผลต่อข้อมูลทางการเงินที่ให้มาโดยฟังก์ชัน localeconv |
5 | LC_NUMERIC มีผลต่อการจัดรูปแบบจุดทศนิยมและข้อมูลที่จัดเตรียมโดยฟังก์ชัน localeconv |
6 | LC_TIME มีผลต่อฟังก์ชัน strftime |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในตำแหน่งส่วนหัว h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | ถ่าน * setlocale (หมวดหมู่ int, const char * locale) ตั้งค่าหรืออ่านข้อมูลที่ขึ้นกับตำแหน่ง |
2 | โครงสร้าง lconv * localeconv (โมฆะ) ตั้งค่าหรืออ่านข้อมูลที่ขึ้นกับตำแหน่ง |
โครงสร้างห้องสมุด
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
ต่อไปนี้เป็นคำอธิบายของแต่ละฟิลด์ -
ซีเนียร์ | ฟิลด์และคำอธิบาย |
---|---|
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 แสดงตำแหน่งของ negative_sign ในมูลค่าเงินติดลบ |
ค่าต่อไปนี้ใช้สำหรับ p_sign_posn และ n_sign_posn -
มูลค่า | คำอธิบาย |
---|---|
0 | วงเล็บจะห่อหุ้มค่าและ currency_symbol |
1 | เครื่องหมายนำหน้าค่าและ currency_symbol |
2 | เครื่องหมายแสดงถึงค่าและ currency_symbol |
3 | เครื่องหมายจะนำหน้าค่าและ currency_symbol ทันที |
4 | เครื่องหมายจะสำเร็จค่าและ currency_symbol ทันที |