Intl.NumberFormat.prototype.formatRange()
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Метод formatRange() экземпляров Intl.NumberFormat форматирует диапазон чисел в соответствии с региональными настройками и параметрами форматирования данного объекта Intl.NumberFormat.
Синтаксис
formatRange(startRange, endRange)
Параметры
-
startRange -
Number,BigIntили строка для форматирования. Строки анализируются так же, как и в преобразовании чисел, за исключением того, чтоformatRange()будет использовать точное значение, которое представляет строка, избегая потери точности при неявном преобразовании в число. -
endRange -
Number,BigIntили строка для форматирования.
Возвращаемое значение
Строка, представляющая заданный диапазон чисел, отформатированная в соответствии с региональными настройками и параметрами форматирования данного объекта Intl.NumberFormat. Если начальное и конечное значения форматируются в одну и ту же строку, вывод будет содержать только одно значение, возможно, с префиксом "приблизительно равно" (например, "~$3"). Вставка этого символа зависит только от настроек региональных параметров и вставляется даже при startRange === endRange.
Исключения
-
RangeError - Выбрасывается, если
startRangeилиendRangeявляетсяNaNили неконвертируемой строкой. -
TypeError - Выбрасывается, если
startRangeилиendRangeимеет значение undefined.
Описание
Функция-геттер formatRange форматирует диапазон чисел в строку в соответствии с региональными настройками и параметрами форматирования данного объекта Intl.NumberFormat, из которого она вызывается.
Примеры
Использование formatRange
Используйте функцию-геттер formatRange для форматирования диапазона валютных значений:
const nf = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
maximumFractionDigits: 0,
});
console.log(nf.formatRange(3, 5)); // "$3 – $5"
// Note: the "approximately equals" symbol is added if
// startRange and endRange round to the same values.
console.log(nf.formatRange(2.9, 3.1)); // "~$3"
const nf = new Intl.NumberFormat("es-ES", {
style: "currency",
currency: "EUR",
maximumFractionDigits: 0,
});
console.log(nf.formatRange(3, 5)); // "3-5 €"
console.log(nf.formatRange(2.9, 3.1)); // "~3 €"
Спецификации
| Спецификация |
|---|
| ECMAScript® 2027 Internationalization API Specification # sec-intl.numberformat.prototype.formatrange |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
formatRange |
106 |
106 |
116 |
92 |
15.4 |
106 |
116 |
72 |
15.4 |
20.0 |
106 |
15.4 |
1.0.3 |
Нет |
19.0.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatRange