- Published on
- เผยแพร่เมื่อ
การใช้งาน Intl.NumberFormat ใน JavaScript
ถ้าคุณเคยเขียนเว็บแอปที่แสดง ตัวเลข, จำนวนเงิน, หรือ เปอร์เซ็นต์ สำหรับผู้ใช้จากหลายประเทศ คุณอาจเจอปัญหาว่า
ทำไมตัวเลขต้องมี
,หรือ.ที่ไม่เหมือนกัน? ทำไมสกุลเงินถึงแสดงไม่ถูกต้อง? หรือทำไมต้องแสดง%ตามรูปแบบภาษาท้องถิ่น?
นี่แหละ! ตัวช่วยที่คุณกำลังหาอยู่คือ Intl.NumberFormat
📌 Intl.NumberFormat คืออะไร?
Intl.NumberFormat เป็น Internationalization API ใน JavaScript มันช่วยให้คุณฟอร์แมตตัวเลขตาม ภาษาท้องถิ่น (locale) และ รูปแบบ (style) ได้อย่างง่ายดาย
- แสดงจำนวนเงินตามสกุลท้องถิ่น
- แสดงตัวเลขพร้อมจุดทศนิยม, คอมมา
- แสดงเปอร์เซ็นต์ในแบบที่ผู้ใช้คุ้นเคย
const formatter = new Intl.NumberFormat('th-TH', {
style: 'currency',
currency: 'THB',
});
console.log(formatter.format(1234567.89));
// ผลลัพธ์: "฿1,234,567.89"
🔍 Option สำคัญที่น่าสนใจ
| Option | คำอธิบาย |
|---|---|
style | 'decimal', 'currency', 'percent' |
currency | รหัสสกุลเงิน เช่น 'THB', 'USD' (ใช้กับ style 'currency') |
minimumFractionDigits | จำนวนหลักทศนิยมขั้นต่ำ |
maximumFractionDigits | จำนวนหลักทศนิยมสูงสุด |
useGrouping | เปิด/ปิดการใช้ตัวแบ่งหลักพัน (true/false) |
📚 เพิ่มเติม: อ่านรายละเอียดเต็ม ๆ ที่ MDN Intl.NumberFormat
💡 Tips & Best Practices
- ใช้
navigator.languageเพื่อดึง locale ตามเครื่องผู้ใช้
new Intl.NumberFormat(navigator.language).format(1234);
- สร้าง formatter ครั้งเดียวแล้ว reuse ได้ ไม่ต้องสร้างซ้ำถ้าฟอร์แมตหลายค่า
สรุป
Intl.NumberFormat คือเครื่องมือเล็ก ๆ ที่ช่วยให้เว็บหรือแอปของคุณเข้าถึงผู้ใช้ทั่วโลก ได้ง่ายขึ้น ไม่ว่าผู้ใช้จะมาจากประเทศไหน พวกเขาจะเห็นตัวเลข, เงิน, หรือเปอร์เซ็นต์ในรูปแบบที่ คุ้นเคยและเข้าใจได้ทันที
- Username
- @Kongkiat
- Bio
- I collect sparks from tech, culture, and everyday chaos — then spin them into stories with a twist.
