แปลง 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' ไม่มีทศนิยมต่อท้ายอีกต่อไป