Number.prototype.toPrecision()

Метод toPrecision() вертає рядкове відображення об'єкта Number з вказаною точністю.

Синтаксис

numObj.toPrecision([precision])

Параметри

precision Optional
Ціле число, що вказує кількість значущих цифр.

Значення, що повертається

Рядок, що відображає об'єкт Number у форматі з нерухомою крапкою або експоненціальному форматі, округлений до кількості значущих цифр precision. Дивіться обговорення округлення у описі методу Number.prototype.toFixed(), яке також застосовується в методі toPrecision().

Якщо аргумент precision не вказаний, метод поводиться як Number.prototype.toString(). Якщо аргумент precision не є цілочисельним значенням, воно округлюється до найближчого цілого числа.

Винятки

RangeError
Якщо значення precision не знаходиться в діапазоні між 1 та 100 (включно), викидається RangeError. Реалізаціям дозволено підтримувати також більші та менші значення. ECMA-262 лише вимагає точності до 21 значущої цифри.

Приклади

Використання toPrecision

let 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 (ECMA-262)
The definition of 'Number.prototype.toPrecision' in that specification.

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також