Number 对象的 toLocaleString()
方法返回一个表示数字的字符串,该字符串使用特定于语言环境的方法进行格式化。
语法
number.toLocaleString([locales[, options]])
参数
locales
(可选):一个字符串,指定要使用的语言环境,或一个字符串数组,指定多个语言环境。语言环境标识符遵循 IETF 语言标签标准。options
(可选):一个对象,用于设置数字格式化的选项。可用的选项包括:localeMatcher
:确定如何选择语言环境的策略。可选值为"best fit"
或"lookup"
。style
:指定数字的显示方式。可选值为"decimal"
(默认值)、"currency"
或"percent"
。currency
:当style
为"currency"
时,此选项用于指定货币类型(例如,"USD"
、"EUR"
等)。currencyDisplay
:当style
为"currency"
时,此选项用于指定货币符号的显示方式。可选值为"code"
(默认值)、"symbol"
或"name"
。useGrouping
:指定是否使用分组分隔符。可选值为true
或false
(默认值)。minimumIntegerDigits
:指定整数部分的最小位数。minimumFractionDigits
:指定小数部分的最小位数。maximumFractionDigits
:指定小数部分的最大位数。minimumSignificantDigits
:指定有效数字的最小数量。maximumSignificantDigits
:指定有效数字的最大数量。
返回值
一个表示数字的字符串,根据指定的语言环境和选项进行格式化。
示例
基本示例
const number = 123456.789; console.log(number.toLocaleString()); // 默认情况下,输出为 "123,456.789" console.log(number.toLocaleString('en-US')); // 输出为 "123,456.789" console.log(number.toLocaleString('de-DE')); // 输出为 "123.456,789"
使用不同语言环境
const number = 123456.789; console.log(number.toLocaleString('zh-CN')); // 输出为 "123,456.789" console.log(number.toLocaleString('fr-FR')); // 输出为 "123 456,789"
使用选项
-- -------------------- ---- ------- ----- ------ - ----------- -- ------------- ------------------------------------------ - ------ ----------- --------- ----- ---- -- --- ------------- -- ------- ------------------------------------------ - ------ --------- ---- -- --- ---------------- -- ----------- ------------------------------------------ - ---------------------- - ---- -- --- ------------- -- -------- ------------------------------------------ - ------------ ----- ---- -- --- ------------
多语言环境示例
const number = 123456.789; // 使用多个语言环境 console.log(number.toLocaleString(['en-US', 'de-DE'])); // 根据用户的首选语言环境选择输出格式 // 使用最佳匹配语言环境 console.log(number.toLocaleString('en-US', { localeMatcher: 'best fit' })); // 使用与用户偏好最接近的语言环境
注意事项
- 如果省略
locales
参数,则使用默认的语言环境。 - 如果
locales
参数是一个数组,则按顺序检查每个语言环境,直到找到一个支持的为止。 options
参数中的某些选项是互斥的。例如,不能同时使用minimumFractionDigits
和maximumFractionDigits
。- 如果指定了
style
为"currency"
,则必须同时提供currency
选项。 - 如果
style
为"currency"
,则currencyDisplay
选项决定了货币符号的显示方式。例如,currencyDisplay: "symbol"
将显示货币符号(如$
),而currencyDisplay: "name"
将显示货币名称(如 "US Dollar")。
通过以上示例和说明,您可以更好地理解和使用 Number.toLocaleString()
方法来格式化数字。