- 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
- เป็นนักพัฒนาเว็บไซต์โดยใช้ React เป็นหลัก และมีความรู้ด้าน Backend ด้วย Spring boot มุ่งเน้นการพัฒนาแอปพลิเคชันที่ดูแลรักษาง่าย และมีประสิทธิภาพ