透過 JavaScript 的國際化 API,了解如何將數字轉換為貨幣值。

假設你有一個數字為 10,代表某物品的價格。

你想將它轉換為 $10.00

然而,如果數字超過3位數,則應以不同方式顯示,例如 1000 應該顯示為 $1,000.00

然而,這僅是美元的表示方法。

不同的國家有不同的值表示習慣

JavaScript 使用 ECMAScript 國際化 API 讓我們能夠輕鬆達成這一目標,這是一個相對較新的瀏覽器 API,提供了許多國際化功能,例如日期和時間格式化。

該 API 目前得到了很好的支援:

國際化 API 的瀏覽器支援情況

const formatter = new Intl.NumberFormat('en-US', {
 style: 'currency',
 currency: 'USD',
 minimumFractionDigits: 2
})

formatter.format(1000) // "$1,000.00"
formatter.format(10) // "$10.00"
formatter.format(123233000) // "$123,233,000.00"

minimumFractionDigits 屬性設定小數部分的最少位數為2位。您可以在 NumberFormat MDN 頁面 中檢查可用的其他參數。

以下是一個創建意大利國家的歐元貨幣數字格式化器的示例:

const formatter = new Intl.NumberFormat('it-IT', {
 style: 'currency',
 currency: 'EUR'
})