JavaScript Number toLocaleString() 方法

JavaScript toLocaleString() 语法

toLocaleString() 是 JavaScript Number 对象的一个方法。它返回该数字的字符串表示,该字符串会根据当前或指定的语言环境(locale)进行格式化。

语法:

num.toLocaleString(locales, options)

说明:

toLocaleString() 方法接收以下 2 个参数。

  • locales(可选):是一个字符串或字符串数组,表示用于格式化输出的语言环境(locale)。例如,"en-US"(美国英语)或 ["zh-CN", "en-US"](中文,备用美国英语)。如果省略此参数,则使用运行时的默认语言环境。
  • options(可选):一个配置对象,用于自定义输出的格式。它可以包含以下属性:
    • style:要使用的格式样式。可选值包括 "decimal"(普通数字格式,默认)、"currency"(货币格式)、"percent"(百分比格式)。
    • currency:当 style 为 "currency" 时,指定要使用的货币代码(ISO 4217 货币代码,如 "USD"、"EUR"、"CNY")。
    • currencyDisplay:当 style 为 "currency" 时,指定货币的显示方式。可选值包括 "symbol"(货币符号,如 $,默认)、"code"(ISO 货币代码,如 USD)、"name"(货币名称,如 US dollars)。
    • useGrouping:一个布尔值,表示是否使用分组分隔符(如千位分隔符)。默认为 true。
    • minimumIntegerDigits:要使用的最小整数位数。默认为 1。
    • minimumFractionDigits:要使用的最小小数位数。默认为 0。
    • maximumFractionDigits:要使用的最大小数位数。默认为 3。
    • minimumSignificantDigits:要使用的最小有效数字位数。
    • maximumSignificantDigits:要使用的最大有效数字位数。

实际上,String、Array、Number 等对象的 toLocaleString() 方法,都是继承自 Object.prototype.toLocaleString(),小伙伴们可以对比理解一下:

JavaScript toLocaleString() 摘要

属于 JavaScript Number 对象
使用频率
官方文档 查看
MDN 查看

JavaScript toLocaleString() 示例

接下来,我们通过几个简单的例子来讲解一下 JavaScript toLocaleString() 方法是如何使用的。

示例 1:toLocaleString() 基本用法

const num = 3.1415;
const result = num.toLocaleString();

console.log(result);
console.log(typeof(result));

运行结果如下。

3.142
string

分析:

当不提供任何参数时,toLocaleString() 方法会使用当前运行环境的默认语言环境来格式化数字。在这个例子中,3.1415 被四舍五入到小数点后三位(变为 3.142),并且返回一个字符串类型的值。

示例 2:toLocaleString() 指定语言环境

const num = 9876543.21;

// 格式化为美式英语 (en-US)
const usFormat = num.toLocaleString("en-US");
console.log(`美式英语:"${usFormat}"`);

// 格式化为简体中文 (zh-CN),通常和美式类似,但有些系统可能不同
const cnFormat = num.toLocaleString("zh-CN");
console.log(`简体中文:"${cnFormat}"`);

// 格式化为德语 (de-DE)
const deFormat = num.toLocaleString("de-DE");
console.log(`德语格式:"${deFormat}"`);

// 格式化为印度英语 (en-IN) - 使用印度数字分组系统
const inFormat = num.toLocaleString("en-IN");
console.log(`印度英语:"${inFormat}"`);

运行结果如下。

美式英语:"9,876,543.21"
简体中文:"9,876,543.21"
德语格式:"9.876.543,21"
印度英语:"98,76,543.21"

分析:

通过 locales 参数,我们可以精确控制数字的语言环境格式,这对于国际化(i18n)应用至关重要。

上一篇: toString()

下一篇: valueOf()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号