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