Intl.NumberFormat
Intl.NumberFormat
对象启用语言敏感的数字格式。
¥The Intl.NumberFormat
object enables language-sensitive number formatting.
Try it
构造函数
静态方法
实例属性
¥Instance properties
这些属性在 Intl.NumberFormat.prototype
上定义并由所有 Intl.NumberFormat
实例共享。
¥These properties are defined on Intl.NumberFormat.prototype
and shared by all Intl.NumberFormat
instances.
Intl.NumberFormat.prototype.constructor
-
创建实例对象的构造函数。对于
Intl.NumberFormat
实例,初始值为Intl.NumberFormat
构造函数。 Intl.NumberFormat.prototype[Symbol.toStringTag]
-
[Symbol.toStringTag]
属性的初始值为字符串"Intl.NumberFormat"
。该属性在Object.prototype.toString()
中使用。
实例方法
¥Instance methods
Intl.NumberFormat.prototype.format()
-
根据此
Intl.NumberFormat
对象的区域设置和格式选项格式化数字的 Getter 函数。 Intl.NumberFormat.prototype.formatRange()
-
Getter 函数,根据调用该方法的
Intl.NumberFormat
对象的区域设置和格式选项来格式化一系列数字。 Intl.NumberFormat.prototype.formatRangeToParts()
-
返回
Array
个对象,表示可用于自定义区域设置感知格式的部分中的数字字符串范围。 Intl.NumberFormat.prototype.formatToParts()
-
返回
Array
个对象,表示可用于自定义区域设置感知格式的部分中的数字字符串。 Intl.NumberFormat.prototype.resolvedOptions()
-
返回一个新对象,其属性反映了在对象初始化期间计算的区域设置和排序规则选项。
示例
基本用法
使用语言环境
¥Using locales
此示例显示本地化数字格式的一些变化。为了获取应用用户界面中使用的语言的格式,请确保使用 locales
参数指定该语言(可能还有一些后备语言):
¥This example shows some of the variations in localized number formats. In order to get the format of the language used in the user interface of your application, make sure to specify that language (and possibly some fallback languages) using the locales
argument:
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
使用选项
¥Using options
可以使用 options
参数自定义结果:
¥The results can be customized using the options
argument:
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()
constructor 页。
¥For an exhaustive list of options, see the Intl.NumberFormat()
constructor page.
规范
Specification |
---|
ECMAScript Internationalization API Specification # numberformat-objects |
浏览器兼容性
BCD tables only load in the browser
也可以看看
¥See also