Spec-Zone.ru › JavaScript

Number.prototype.toPrecision()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна в браузерах с июля 2015 года.

Метод toPrecision() объекта Number возвращает строковое представление этого числа с указанным количеством значащих цифр.

Попробуйте

function precise(x) {
  return x.toPrecision(4);
}

console.log(precise(123.456));
// Expected output: "123.5"

console.log(precise(0.004));
// Expected output: "0.004000"

console.log(precise(1.23e5));
// Expected output: "1.230e+5"

Синтаксис

toPrecision()
toPrecision(precision)

Параметры

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

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

Строка, представляющая данное число, с использованием указанного количества значащих цифр. Научная нотация используется, если показатель степени больше или равен precision или меньше -6. Имеет то же поведение, что и Number.prototype.toString(), если аргумент precision опущен.

Исключения

RangeError
Выбрасывается, если precision не находится в диапазоне от 1 до 100 (включительно).
TypeError
Выбрасывается, если этот метод вызывается для объекта, который не является Number.

Примеры

Использование toPrecision

// This number has exponent 0, so it will never use exponential notation
let num = 5.123456;

console.log(num.toPrecision()); // '5.123456'
console.log(num.toPrecision(5)); // '5.1235'
console.log(num.toPrecision(2)); // '5.1'
console.log(num.toPrecision(1)); // '5'

// This number has exponent -4, so it will never use exponential notation
num = 0.000123;

console.log(num.toPrecision()); // '0.000123'
console.log(num.toPrecision(5)); // '0.00012300'
console.log(num.toPrecision(2)); // '0.00012'
console.log(num.toPrecision(1)); // '0.0001'

// This number has exponent 3, so it will use exponential notation if precision is less than 4
num = 1234.5;
console.log(num.toPrecision(1)); // '1e+3'
console.log(num.toPrecision(2)); // '1.2e+3'
console.log(num.toPrecision(6)); // '1234.50'

// This number has exponent -7, so it will always use exponential notation
num = 0.00000012345;
console.log(num.toPrecision(1)); // '1e-7'
console.log(num.toPrecision(10)); // '1.234500000e-7'

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-number.prototype.toprecision

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

Настольные компьютеры Мобильные устройства Сервер
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
toPrecision
1
12
1
7
2
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Number.prototype.toFixed()
  • Number.prototype.toExponential()
  • Number.prototype.toString()

© 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/Number/toPrecision

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API