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 August 2023.

Phương thức formatRange() của các instance Intl.NumberFormat định dạng một khoảng số theo locale và tùy chọn định dạng của đối tượng Intl.NumberFormat này.

Cú pháp

js
formatRange(startRange, endRange)

Tham số

startRange

Một Number, BigInt, hoặc chuỗi để định dạng. Chuỗi được phân tích cú pháp theo cách tương tự như trong chuyển đổi số, ngoại trừ formatRange() sẽ dùng giá trị chính xác mà chuỗi đại diện, tránh mất độ chính xác trong quá trình chuyển đổi ngầm định thành số.

endRange

Một Number, BigInt, hoặc chuỗi để định dạng.

Giá trị trả về

Chuỗi đại diện cho khoảng số đã cho được định dạng theo locale và tùy chọn định dạng của đối tượng Intl.NumberFormat này. Nếu giá trị đầu và cuối được định dạng thành cùng một chuỗi, đầu ra sẽ chỉ chứa một giá trị duy nhất, có thể được thêm tiền tố ký hiệu "xấp xỉ bằng" (ví dụ: "~$3"). Việc chèn ký hiệu này chỉ phụ thuộc vào cài đặt locale và được chèn ngay cả khi startRange === endRange.

Ngoại lệ

RangeError

Được ném ra nếu startRange hoặc endRangeNaN hoặc chuỗi không thể chuyển đổi.

TypeError

Được ném ra nếu startRange hoặc endRange là undefined.

Mô tả

Hàm getter formatRange định dạng một khoảng số thành chuỗi theo locale và tùy chọn định dạng của đối tượng Intl.NumberFormat mà nó được gọi từ đó.

Ví dụ

Sử dụng formatRange

Dùng hàm getter formatRange để định dạng một khoảng giá trị tiền tệ:

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

Đặc tả kỹ thuật

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

Tương thích trình duyệt

Xem thêm