Intl.NumberFormat.prototype.format
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年9月.
Intl.NumberFormat.prototype.format 属性返回一个根据NumberFormat对象的语言环境和格式化选项,来格式化一个数字的 getter 函数。
尝试一下
const amount = 654321.987;
const options1 = { style: "currency", currency: "RUB" };
const numberFormat1 = new Intl.NumberFormat("ru-RU", options1);
console.log(numberFormat1.format(amount));
// Expected output: "654 321,99 ₽"
const options2 = { style: "currency", currency: "USD" };
const numberFormat2 = new Intl.NumberFormat("en-US", options2);
console.log(numberFormat2.format(amount));
// Expected output: "$654,321.99"
语法
numberFormat.format(number)
参数
number-
要格式化的数值。
描述
该函数返回一个根据NumberFormat对象的语言环境和格式化选项,来format 一个数字的函数。
示例
>使用 format
使用 format 格式化一个单一的货币值,以俄罗斯为例:
js
var options = { style: "currency", currency: "RUB" };
var numberFormat = new Intl.NumberFormat("ru-RU", options);
console.log(numberFormat.format(654321.987));
// → "654 321,99 руб."
使用 format 和 map
使用 format 返回的函数来格式化数组中的所有数字。注意,该函数绑定到所获得的NumberFormat,因此它可以直接传递给Array.prototype.map。
js
var a = [123456.789, 987654.321, 456789.123];
var numberFormat = new Intl.NumberFormat("es-ES");
var formatted = a.map(numberFormat.format);
console.log(formatted.join("; "));
// → "123.456,789; 987.654,321; 456.789,123"
规范
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-intl.numberformat.prototype.format> |