แปลง string เป็นค่าของเงินง่าย ๆ ใน JavaScript
Nuttavut Thongjor
JavaScript
เรียนรู้การใช้งาน Intl.NumberFormat เพื่อแปลง string เป็นค่าเงิน
คำอธิบาย
ความคิดเห็น
ภาษา JavaScript มี Intl.NumberFormat
สำหรับแปลงตัวเลขเป็นค่าต่าง ๆ โดยผูกกับภาษาปลายทางที่ต้องการใช้งาน
เช่น เราสามารถใช้ Intl.NumberFormat
เพื่อแปลง string ให้เป็นค่าเงินของไทย หรือของญีปุ่นก็ได้
การใช้ Intl.NumberFormat
เพื่อแปลง string เป็นค่าเงินต้องระบุ locale (เช่น ja-JP สำหรับญี่ปุ่น หรือ th-TH สำหรับไทย)
และระบุค่าของสกุลเงิน (เช่น THB คือไทยบาท)
JavaScript
1Intl.NumberFormat('th-TH', {2 style: 'currency',3 currency: 'THB',4}).format('2990')
จากตัวอย่างต้องการแปลง '2990' เป็นสกุลเงินบาทได้ผลลัพธ์เป็น '฿2,990.00'
จากผลลัพธ์ดังกล่าวจะสังเกตได้ว่ามีเศษทศนิยมคือ .00
หากเราไม่ต้องการทศนิยมนี้ เราสามารถระบุ minimumFractionDigits
และ maximumFractionDigits
เป็น 0 ได้ ดังนี้
JavaScript
1Intl.NumberFormat('th-TH', {2 style: 'currency',3 currency: 'THB',4 minimumFractionDigits: 0,5 maximumFractionDigits: 0,6}).format('2990')
ผลลัพธ์ใหม่ที่ได้คือ '฿2,990'
ไม่มีทศนิยมต่อท้ายอีกต่อไป