Number.prototype.toPrecision()

Сводка

Метод toPrecision() возвращает строку, представляющую объект Number с указанной точностью.

Синтаксис

numObj.toPrecision([precision])

Параметры

precision
Необязательный параметр. Целое число, определяющее количество значащих цифр.

Возвращаемое значение

Строка, представляющая объект Number в записи с фиксированной запятой или в экспоненциальной записи, округлённое до precision значащих цифр. Смотрите обсуждение округления в описании метода toFixed(), которое таким же образом применяется и к методу toPrecision().

Если аргумент precision опущен, поведение аналогично методу Number.prototype.toString(). Если он не является целым числом, он будет округлён к ближайшему целому числу.

Выбрасываемые исключения

RangeError
Если параметр precison не находится в диапазоне от 1 до 100 (включительно), будет выброшено исключение RangeError. Также реализации могут поддерживать большие и меньшие значения. ECMA-262 требует точности только до 21 значащей цифры.

Примеры

Пример: использование toPrecision

var numObj = 5.123456;

console.log(numObj.toPrecision());    // выведет '5.123456'
console.log(numObj.toPrecision(5));   // выведет '5.1235'
console.log(numObj.toPrecision(2));   // выведет '5.1'
console.log(numObj.toPrecision(1));   // выведет '5'

numObj = 0.000123;

console.log(numObj.toPrecision());    // выведет '0.000123'
console.log(numObj.toPrecision(5));   // выведет '0.00012300'
console.log(numObj.toPrecision(2));   // выведет '0.00012'
console.log(numObj.toPrecision(1));   // выведет '0.0001' 

// Обратите внимание, что если заданного количества разрядов
// недостаточно для точного отображения целой части числа,
// значение может быть возвращено в экспоненциальной записи.
console.log((1234.5).toPrecision(2)); // выведет '1.2e+3'

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.5.
ECMAScript 5.1 (ECMA-262)
Определение 'Number.prototype.toPrecision' в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Number.prototype.toPrecision' в этой спецификации.
Стандарт

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также