Intl
什麼是 Intl?
Intl 是 JavaScript 的內建物件,用於處理國際化(Internationalization,i18n)相關的功能。它提供了一系列的 API,用於處理日期、時間、數字、貨幣、語言、排序等國際化相關的操作。
Intl 物件包含了以下幾個內建的子物件:
Intl.Collator:用於排序和比較字串。Intl.DateTimeFormat:用於格式化日期和時間。Intl.NumberFormat:用於格式化數字。Intl.PluralRules:用於處理複數形式。Intl.RelativeTimeFormat:用於格式化相對時間。
這些 API 提供了一個標準的方式來處理不同語言和文化的數據,使得開發者可以更容易實現國際化功能。
Intl.NumberFormat
Intl.NumberFormat 是 Intl 物件的一部分,用來格式化數字。它提供了一個標準化的方法,能將數字依照不同國家或地區的習慣格式化。
他提供了兩個參數:
- 地區代碼(Locale):用來指定格式化的國家或語言。地區代碼是由語言代碼和地區代碼組成的字串,例如 en-US(美國英文)、zh-TW(台灣中文)。
- 選項(Options):用來指定格式化的方式,以下是一些常用的選項:
style:指定格式化的風格,可以是decimal(十進制)、currency(貨幣)、percent(百分比)。currency:指定貨幣代碼,例如USD(美元)、EUR(歐元)。minimumIntegerDigits:指定整數部分的最小位數。minimumFractionDigits:指定小數部分的最小位數。maximumFractionDigits:指定小數部分的最大位數。useGrouping:指定是否使用分組分隔符號(千位分隔符號)。
在這個例子中,我們建立了一個 Intl.NumberFormat 的實例,指定地區為美國(en-US),格式為貨幣(style: 'currency'),並選擇貨幣單位為美元(currency: 'USD')。然後,我們利用 format 方法將數字格式化為美元格式。
const number = 123456.789;
const formatter = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
});
console.log(formatter.format(number));
// Output: $123,456.79