Метод toPrecision округляет число до заданного знака. В отличие от Math.round округление можно проводить не только в дробной части.

Параметром метода указывается сколько цифр должно остаться в числе. Остальные цифры будут отброшены. Последнее оставшееся число будет округлено по правилам математического округления.

Если указанное количество знаков не достижимо обрезанием десятичной части - переводит число в экспоненциальную форму.

Экспоненциальная форма - это числа вида 1.2e+3. Чтобы преобразовать в нормальную форму нужно сделать так: 1.2e+3 = 1.2 * 10*3 = 1.2 * 1000 = 1200.

Если параметр пуст, то будет возращено исходное число.

См. также функции Math.round, Math.ceil, Math.floor, которые также выполняют округление числа.

См. также функцию toFixed, которая также выполняет округление числа до заданного знака после запятой.

Синтаксис

число.toPrecision(длина);

Примеры

Пример

В данном примере число 678.19324 с помощью toPrecision было приведено к 4 цифрам, причем, так как после 1 стояла цифра 8, то по правилам математики единица преобразуется к двойке:

var num = 678.19324;
document.write(num.toPrecision(4));

Результат выполнения кода:

678.2

Пример

В данном примере число должно сократиться до двух знаков и будет отброшена не только дробная часть, но и целая. Поэтому число переведется в экспоненциальную форму:

var num = 678.19324;
document.write(num.toPrecision(2));

Результат выполнения кода:

6.8e+2

Пример

В данном примере число 12 приводится к 3 цифрам. Так как число целое, то в дробной части появится 0:

var num = 12;
document.write(num.toPrecision(3));

Результат выполнения кода:

12.0

Пример

Давайте теперь приведем число 12 к 4-м цифрам. В дробной части появятся два 0:

var num = 12;
document.write(num.toPrecision(3));

Результат выполнения кода:

12.00

Пример

Давайте теперь приведем число 12.1 к 5-ти цифрам:

var num = 12;
document.write(num.toPrecision(3));

Результат выполнения кода:

12.100