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.

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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
toPrecisionChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support 7Safari Full support 2WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Див. також