Intl.NumberFormat
Intl.NumberFormat
对象支持语言相关的数字格式化。
试一试
构造函数
Intl.NumberFormat()
-
创建一个新的
NumberFormat
对象。
静态方法
Intl.NumberFormat.supportedLocalesOf()
-
返回一个数组,其中包含提供的区域设置中无需回退到运行时默认区域设置即可支持的区域设置。
实例属性
这些属性定义在 Intl.NumberFormat.prototype
上,并由所有 Intl.NumberFormat
实例共享。
Intl.NumberFormat.prototype.constructor
-
创建实例对象的构造函数。对于
Intl.NumberFormat
实例,初始值为Intl.NumberFormat
构造函数。 Intl.NumberFormat.prototype[Symbol.toStringTag]
-
[Symbol.toStringTag]
属性的初始值为字符串"Intl.NumberFormat"
。此属性用于Object.prototype.toString()
。
实例方法
Intl.NumberFormat.prototype.format()
-
获取器函数,根据此
Intl.NumberFormat
对象的区域设置和格式化选项格式化数字。 Intl.NumberFormat.prototype.formatRange()
-
获取器函数,根据调用该方法的
Intl.NumberFormat
对象的区域设置和格式化选项格式化一系列数字。 Intl.NumberFormat.prototype.formatRangeToParts()
-
返回一个
Array
,其中包含表示数字字符串范围的各个部分的对象,可用于自定义区域设置感知格式化。 Intl.NumberFormat.prototype.formatToParts()
-
返回一个
Array
,其中包含表示数字字符串的各个部分的对象,可用于自定义区域设置感知格式化。 Intl.NumberFormat.prototype.resolvedOptions()
-
返回一个新对象,其中包含反映在对象初始化期间计算的区域设置和排序选项的属性。
示例
基本用法
在不指定区域设置的基本用法中,将返回默认区域设置并使用默认选项的格式化字符串。
js
const number = 3500;
console.log(new Intl.NumberFormat().format(number));
// '3,500' if in US English locale
使用区域设置
此示例显示了本地化数字格式的一些变化。为了获取应用程序用户界面中使用的语言的格式,请确保使用 locales
参数指定该语言(以及一些备用语言)
js
const number = 123456.789;
// German uses comma as decimal separator and period for thousands
console.log(new Intl.NumberFormat("de-DE").format(number));
// 123.456,789
// Arabic in most Arabic speaking countries uses real Arabic digits
console.log(new Intl.NumberFormat("ar-EG").format(number));
// ١٢٣٤٥٦٫٧٨٩
// India uses thousands/lakh/crore separators
console.log(new Intl.NumberFormat("en-IN").format(number));
// 1,23,456.789
// the nu extension key requests a numbering system, e.g. Chinese decimal
console.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(number));
// 一二三,四五六.七八九
// when requesting a language that may not be supported, such as
// Balinese, include a fallback language, in this case Indonesian
console.log(new Intl.NumberFormat(["ban", "id"]).format(number));
// 123.456,789
使用选项
可以使用 options
参数自定义结果
js
const number = 123456.789;
// request a currency format
console.log(
new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(
number,
),
);
// 123.456,79 €
// the Japanese yen doesn't use a minor unit
console.log(
new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format(
number,
),
);
// ¥123,457
// limit to three significant digits
console.log(
new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format(
number,
),
);
// 1,23,000
// Formatting with units
console.log(
new Intl.NumberFormat("pt-PT", {
style: "unit",
unit: "kilometer-per-hour",
}).format(50),
);
// 50 km/h
console.log(
(16).toLocaleString("en-GB", {
style: "unit",
unit: "liter",
unitDisplay: "long",
}),
);
// 16 litres
有关选项的详尽列表,请参阅 Intl.NumberFormat()
构造函数 页面。
规范
规范 |
---|
ECMAScript 国际化 API 规范 # numberformat-objects |
浏览器兼容性
BCD 表仅在浏览器中加载