Logo
Published on
เผยแพร่เมื่อ

การใช้งาน Intl.NumberFormat ใน JavaScript

js-intl-number-format

ถ้าคุณเคยเขียนเว็บแอปที่แสดง ตัวเลข, จำนวนเงิน, หรือ เปอร์เซ็นต์ สำหรับผู้ใช้จากหลายประเทศ คุณอาจเจอปัญหาว่า

ทำไมตัวเลขต้องมี , หรือ . ที่ไม่เหมือนกัน? ทำไมสกุลเงินถึงแสดงไม่ถูกต้อง? หรือทำไมต้องแสดง % ตามรูปแบบภาษาท้องถิ่น?

นี่แหละ! ตัวช่วยที่คุณกำลังหาอยู่คือ 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 คือเครื่องมือเล็ก ๆ ที่ช่วยให้เว็บหรือแอปของคุณเข้าถึงผู้ใช้ทั่วโลก ได้ง่ายขึ้น ไม่ว่าผู้ใช้จะมาจากประเทศไหน พวกเขาจะเห็นตัวเลข, เงิน, หรือเปอร์เซ็นต์ในรูปแบบที่ คุ้นเคยและเข้าใจได้ทันที

avatar
Username
@Kongkiat
Bio
เป็นนักพัฒนาเว็บไซต์โดยใช้ React เป็นหลัก และมีความรู้ด้าน Backend ด้วย Spring boot มุ่งเน้นการพัฒนาแอปพลิเคชันที่ดูแลรักษาง่าย และมีประสิทธิภาพ

Comment