JavaScript метод toFixed()

JavaScript Number

Определение и применение

JavaScript метод toFixed() форматирует числовое значение в строковое, сохраняя при этом указанное количество десятичных знаков. Метод не возвращает строки с экспоненциальным представлением чисел, для этих целей вы можете воспользоваться методом toExponential().


Обращаю Ваше внимание, что метод toFixed() в том случае, если указанное число десятичных знаков превышает фактическое число, добавляет для достижения требуемой десятичной длины нулевые значения. При необходимости число округляется, если число больше, чем 1e+21, то будет вызван метод Number.prototype.toString(), который возвращает строку в экспоненциальной форме записи числа.


Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
toFixed()ДаДаДаДаДаДа

JavaScript синтаксис:

// десятичные знаки после запятой отсутствуют
num.toFixed();

// количество десятичных знаков после запятой соответствует значению, указанному в параметре метода
num.toFixed( digits );

Версия JavaScript

3 (первоначальная реализация в версии 1.5)

Значения параметров

ПараметрОписание
digitsЦелое число, которое определяет количество десятичных знаков после запятой. Числовое значение должно находиться в диапазоне от 0 до 20 включительно, некоторые реализации могут дополнительно поддерживать больший диапазон значений. Необязательный параметр. Если аргумент не используется или undefined, то значением по умолчанию считается 0. Если значение параметра digits является нецелым числовым значением, то оно будет округлено вниз до ближайшего целого числа.

Исключения

Тип исключенияОписание
RangeErrorВозникает в том случае, если параметр digits не находится в диапазоне от 0 до 100 (включительно). Диапазон может отличаться в зависимости от конкретной реализации.
TypeErrorВозникает в том случае, если метод вызывается для значения, которое не является числовым объектом.

Пример использования

var num = 12345.6789; // инициализируем числовую переменную

num.toFixed(); // возвращаемое значение "12346"
num.toFixed( 3 ); // возвращаемое значение "12345.679"
num.toFixed( 2 ); // возвращаемое значение "12345.68"
num.toFixed( 1.1 ); // возвращаемое значение "12345.7"
num.toFixed( 1.9 ); // возвращаемое значение "12345.7"
num.toFixed( 10 ); // возвращаемое значение "12345.6789000000"
num.toFixed( true + true ); // возвращаемое значение "12345.68"
num.toFixed( -1 ); // RangeError
num.toFixed( 101 ); // RangeError

var str = "12345.6789"; // инициализируем строковую переменную
str.toFixed(); // TypeError

123.45.toFixed( 1 ); // возвращаемое значение "123.5"
123.toFixed( 2 );  // SyntaxError
(123).toFixed( 2 ); // возвращаемое значение "123.00"
123..toFixed( 2 ); // возвращаемое значение "123.00"

(1.11e+20).toFixed( 2 ); // возвращаемое значение "111000000000000000000.00"
(1.11e+21).toFixed( 2 ); // возвращаемое значение "1.11e+21"
(1.11e-1).toFixed( 2 ); // возвращаемое значение "0.11"
(1.11e-2).toFixed( 2 ); // возвращаемое значение "0.01"
(1.11e-3).toFixed( 2 ); // возвращаемое значение "0.00"
(1.11e-10).toFixed( 2 ); // возвращаемое значение "0.00"
JavaScript Number