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"使用选项
// www.javascriptcn.com code example
const number = 123456.789;
// 设置货币样式并指定货币类型
console.log(number.toLocaleString('en-US', { style: 'currency', currency: 'USD' })); // 输出为 "$123,456.79"
// 设置百分比样式
console.log(number.toLocaleString('en-US', { style: 'percent' })); // 输出为 "12,345,678.90%"
// 指定小数部分的最小位数
console.log(number.toLocaleString('en-US', { minimumFractionDigits: 3 })); // 输出为 "123,456.789"
// 不使用分组分隔符
console.log(number.toLocaleString('en-US', { useGrouping: false })); // 输出为 "123456.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() 方法来格式化数字。