JavaScript метод toPrecision()
JavaScript NumberОпределение и применение
JavaScript метод toPrecision() в зависимости от количества заданных значащих разрядов числа возвращает строку определенной длины, представляющую число (объект Number) в записи с фиксированной запятой, или в экспоненциальной форме записи, округленное до точных значащих цифр.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
toPrecision() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
// возвращается строковое представление числа без форматирования num.toPrecision(); // возвращает строку определенной длины num.toPrecision( precision );
Версия JavaScript
3 (первоначальная реализация в версии 1.5)Значения параметров
Параметр | Описание |
---|---|
precision | Целое число, которое определяет количества значащих разрядов числа. Числовое значение должно находиться в диапазоне от 0 до 21 включительно, некоторые реализации могут дополнительно поддерживать больший диапазон значений. Необязательный параметр. Если значение параметра precision не указано или равно undefined, то вызывается метод Number.toString() и возвращается строковое представление числа без форматирования. Если значение параметра precision является нецелым числовым значением, то оно будет округлено вниз до ближайшего целого числа. Для чисел в экспоненциальной форме записи возвращается число знаков после запятой равное значению параметра precision - 1, a для чисел в записи с фиксированной запятой возвращается число значащих цифр, равное значению precision. |
Исключения
Тип исключения | Описание |
---|---|
RangeError | Возникает в том случае, если параметр precision не находится в диапазоне от 1 до 100 (включительно). Диапазон может отличаться в зависимости от конкретной реализации. |
TypeError | Возникает в том случае, если метод вызывается для значения, которое не является числовым объектом. |
Пример использования
var num = 12345.6789; // инициализируем числовую переменную num.toPrecision(); // возвращаемое значение "12345.6789" num.toPrecision( 3 ); // возвращаемое значение "1.23e+4" num.toPrecision( 2 ); // возвращаемое значение "1.2e+4" num.toPrecision( 1.1 ); // возвращаемое значение "1e+4" num.toPrecision( 1.9 ); // возвращаемое значение "1e+4" num.toPrecision( 10 ); // возвращаемое значение "12345.67890" num.toPrecision( 9 ); // возвращаемое значение "12345.6789" num.toPrecision( 7 ); // возвращаемое значение "12345.68" num.toPrecision( 5 ); // возвращаемое значение "12346" num.toPrecision( -1 ); // RangeError num.toPrecision( 0 ); // RangeError num.toPrecision( 101 ); // RangeError var num2 = 123456; // инициализируем числовую переменную num2.toPrecision(); // возвращаемое значение "12345" num2.toPrecision( 10 ); // возвращаемое значение "123456.0000" num2.toPrecision( 5 ); // возвращаемое значение "1.2346e+5" num2.toPrecision( 3 ); // возвращаемое значение "1.23e+5" num2.toPrecision( 2 ); // возвращаемое значение "1.2e+5" num2.toPrecision( 1.1 ); // возвращаемое значение "1e+5" num2.toPrecision( 1.9 ); // возвращаемое значение "1e+5" num2.toPrecision( true + true ); // возвращаемое значение "1.2e+5" var str = "12345.6789"; // инициализируем строковую переменную str.toPrecision(); // TypeError 123.45.toPrecision( 3 ); // возвращаемое значение "123" 123.toPrecision( 2 ); // SyntaxError (123).toPrecision( 4 ); // возвращаемое значение "123.0" 123..toPrecision( 4 ); // возвращаемое значение "123.0" (1.11e+1).toPrecision( 3 ); // возвращаемое значение "11.1" (1.11e+1).toPrecision( 2 ); // возвращаемое значение "11" (1.11e-1).toPrecision( 3 ); // возвращаемое значение "0.111" (1.11e-1).toPrecision( 2 ); // возвращаемое значение "0.11"JavaScript Number