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 Object toLocaleString() 方法
- JavaScript String toLocaleString() 方法
- JavaScript Array 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)应用至关重要。
