Spec-Zone.ru › JavaScript

Intl.NumberFormat.prototype.formatRange()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It's been available across browsers since September 2017.

The formatRange() method of Intl.NumberFormat instances formats a range of numbers according to the locale and formatting options of this Intl.NumberFormat object.

Syntax

formatRange(startRange, endRange)

Parameters

startRange
A Number, BigInt, or string, to format. Strings are parsed in the same way as in number conversion, except that formatRange() will use the exact value that the string represents, avoiding loss of precision during implicitly conversion to a number.
endRange
A Number, BigInt, or string, to format.

Return value

A string representing the given range of numbers formatted according to the locale and formatting options of this Intl.NumberFormat object. If the start and end values are formatted to the same string, the output will only contain a single value, possibly prefixed with an "approximately equals" symbol (e.g., "~$3"). The insertion of this symbol only depends on the locale settings, and is inserted even when startRange === endRange.

Exceptions

RangeError
Thrown if either startRange or endRange is NaN or an inconvertible string.
TypeError
Thrown if either startRange or endRange is undefined.

Description

The formatRange getter function formats a range of numbers into a string according to the locale and formatting options of this Intl.NumberFormat object from which it is called.

Examples

Using formatRange

Use the formatRange getter function for formatting a range of currency values:

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 €"

Specifications

Specification
ECMAScript® 2027 Internationalization API Specification
# sec-intl.numberformat.prototype.formatrange

Browser compatibility

Desktop Mobile Server
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
No
19.0.0

See also

  • 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