Spec-Zone.ru › JavaScript

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

См. также

  • Intl.NumberFormat
  • Number.prototype.toLocaleString()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API