Книга: JavaScript. Подробное руководство, 6-е издание
Number
Разделы на этой странице:
Number
Number
поддержка чисел (Object->Number)
Конструктор
new Number(значение)
Number(значение)
Аргументы
значение Числовое значение создаваемого объекта Number
или значение, которое может быть преобразовано в число.
Возвращаемое значение
Когда функция Number()
используется в качестве конструктора (с оператором new
), она возвращает вновь созданный объект Number
. Когда функция Number()
вызывается как функция (без оператора new
), она преобразует свой аргумент в элементарное числовое значение и возвращает это значение (или NaN, если преобразование не удалось).
Константы
Number.MAX.VALUE
Наибольшее представимое число.
Number. MIN_VALUE
Наименьшее представимое число.
Number.NaN
Нечисло.
Number.NEGATIVE_INFINITY
Отрицательная бесконечность, возвращается при переполнении.
Number.POSITIVE_INFINITY
Положительная бесконечность; возвращается при переполнении.
Методы
toString()
Преобразует число в строку в указанной системе счисления.
toLocaleString()
Преобразует число в строку, руководствуясь локальными соглашениями о форматировании чисел.
toFixed()
Преобразует число в строку, содержащую указанное число цифр после десятичной точки. ’
toExponential()
Преобразует числа в строки в экспоненциальной нотации с указанным количеством цифр после десятичной точки.
toPrecision()
Преобразует число в строку, записывая в нее указанное количество значащих цифр. Используется нотация экспоненциальная или с фиксированной точкой в зависимости от размера числа и заданного количества значащих цифр.
valueOf()
Возвращает элементарное числовое значение объекта Number
.
Описание
Числа - это базовый элементарный тип данных в JavaScript. В JavaScript поддерживается также объект Number
, представляющий собой обертку вокруг элементарного числового значения. Интерпретатор JavaScript при необходимости автоматически выполняет преобразование между элементарной и объектной формами. Существует возможность явно создать объект Number
посредством конструктора Number(),
хотя в этом редко возникает необходимость.
Конструктор Number()
может также вызываться как функция преобразования (без оператора new
). В этом случае функция пытается преобразовать свой аргумент в число и возвращает элементарное числовое значение (или NaN), полученное при преобразовании.
Конструктор Number()
используется также для размещения пяти полезных числовых констант: максимального и минимального представимых чисел, положительной и отрицательной бесконечности, а также специального значения «нечисло». Обратите внимание: эти значения представляют собой свойства самой функции-конструктора Number(),
а не отдельных числовых объектов. Например, свойство MAX_VALUE
можно использовать следующим образом:
var biggest = Number.MAX_VALUE
А такая запись неверна:
var n = new Number(2);
var biggest = n.MAX_VALUE
В то же время toString()
и другие методы объекта Number
являются методами каждого объекта Number
, а не функции-конструктора Number().
Как уже говорилось, JavaScript при необходимости автоматически выполняет преобразования между элементарными числовыми значениями и объектами Number. То есть методы класса Number
могут работать с элементарными числовыми значениями так же, как с объектами Number
:
var value = 1234;
var binary_value = n.toString(2);
См. также
Infinity, Math, NaN
Number.MAX.VALUE
максимальное числовое значение
Синтаксис
Number. MAX_VALUE
Описание
Number. MAX_VALUE
- это наибольшее число, представимое в JavaScript. Его значение примерно равно 1,79Е+308.
Number.MIN_VALUE
минимальное числовое значение
Синтаксис
Number.MIN_VALUE
Описание
Number.MIN_VALUE
- это наименьшее число (ближайшее к нулю, а не самое отрицательное), представимое в JavaScript. Его значение примерно равно 5Е-324.
Number.NaN
специальное нечисловое значение
Синтаксис
Number.NaN
Описание
Number.NaN
- это специальное значение, указывающее, что результат некоторой математической операции (например, извлечения квадратного корня из отрицательного числа) не является числом. Функции parseInt()
и parseFloat()
возвращают это значение, когда не могут преобразовать указанную строку в число; программист может использовать Number.NaN
аналогичным образом, чтобы указать на ошибочное условие для какой-либо функции, обычно возвращающей допустимое число.
JavaScript выводит значение Number.NaN
как NaN. Обратите внимание: при сравнении значение NaN всегда не равно любому другому числу, включая само значение NaN. Следовательно, невозможно проверить значение на «нечисло», сравнив его с Number.NaN
. Для этого предназначена функция isNaN().
В стандарте ECMAScript v1 и более поздних версиях вместо Number.NaN
допускается использование предопределенного глобального свойства NaN
.
См. также
isNaN(), NaN
Number.NEGATIVE_INFINITY
отрицательная бесконечность
Синтаксис
Number. NEGATIVE_INFINITY
Описание
Number.NEGATIVE_INFINITY
- специальное числовое значение, возвращаемое, если арифметическая операция или математическая функция генерирует отрицательное число, большее чем максимальное представимое в JavaScript число (т. е. отрицательное число, меньшее чем - Number. MAX_VALUE
).
JavaScript выводит значение NEGATIVE_INFINITY
как - Infinity. Это значение математически ведет себя как бесконечность. Например, все что угодно, умноженное на бесконечность, является бесконечностью, а все, деленное на бесконечность, - нулем. В ЕСМА-Script v1 и более поздних версиях можно также использовать предопределенную глобальную константу - Infinity
вместо Number.NEGATIVE_INFINITY
.
См. также
Infinity, isFinite()
Number.POSITIVE_INFINITY
бесконечность
Синтаксис
Number.POSITIVE_INFINITY
Описание
Number.POSITIVE_INFINITY
- это специальное числовое значение, возвращаемое, когда арифметическая операция или математическая функция приводит к переполнению или генерирует значение, превосходящее максимальное представимое в JavaScript число (т.е. Number.MAX_VALUE
). Обратите внимание: если происходит потеря значимости или число становится меньше, чем Number.MIN_VALUE
, JavaScript преобразует его в ноль. JavaScript выводит значение POSITIVE_INFINITY
как Infinity. Это значение ведет себя математически так же, как бесконечность. Например, что-либо, умноженное на бесконечность, - это бесконечность, а что-либо, деленное на бесконечность, - ноль. В ЕСМА-Script vl и более поздних версиях вместо Number.POSITIVE_INFINITY
можно также использовать предопределенную глобальную константу Infinity
.
См. также
Infinity, isFinite()
Number.toExponential()
форматирует число в экспоненциальную форму представления
Синтаксис
число.toExponential( разрядность)
Аргументы
разрядность Количество цифр после десятичной точки. Может быть значением от О до 20 включительно, конкретные реализации могут поддерживать больший диапазон значений. Если аргумент отсутствует, то цифр будет столько, сколько необходимо.
Возвращаемое значение
Строковое представление числа в экспоненциальной нотации с одной цифрой перед десятичной точкой и с количеством цифр, указанным в аргументе разрядность, после нее. Дробная часть, если это необходимо, округляется или дополняется нулями, чтобы она имела указанную длину.
Исключения
RangeError
Генерируется, если аргумент разрядность слишком велик или слишком мал. Значения между 0 и 20 включительно не приводят к ошибке RangeError
. Реализациям также разрешено поддерживать большее или меньшее количество цифр.
ТуреЕrror
Генерируется, если метод вызывается для объекта, не являющегося объектом Number
.
Пример
var n = 12345.6789;
n.toExponential(l); // Вернет 1.2е+4
n.toExponential(5); // Вернет 1.23457е+4
n.toExponential(10); // Вернет 1.2345678900Є+4
n.toExponential(); // Вернет 1.23456789Є+4
См. также
Number.toFixed(), Number.toLocaleString(), Number.toPrecision(), Number.toString()
Number.toFixed()
форматирует число в форму представления с фиксированной точкой
Синтаксис
число.tоFіхеd (разрядность)
Аргументы
разрядность Количество цифр после десятичной точки; оно может быть значением от 0 до 20 включительно; конкретные реализации могут поддерживать больший диапазон значений. Если этот аргумент отсутствует, он считается равным 0.
Возвращаемое значение
Строковое представление числа, которое не использует экспоненциальную нотацию и в котором количество цифр после десятичной точки равно аргументу разрядность. При необходимости число округляется, а дробная часть дополняется нулями до указанной длины. Если число больше, чем 1е+21, этот метод вызывает функцию Number.toString()
и возвращает строку в экспоненциальной нотации.
Исключения
RangeError
Генерируется, если аргумент разрядность слишком велик или слишком мал. Значения от 0 до 20 включительно не приводят к исключению RangeError
. Конкретные реализации могут поддерживать большие или меньшие значения.
ТуреЕrror
Генерируется, если метод вызывается для объекта, не являющегося объектом Number.
Пример
var n = 12345.6789;
n.toFixed();// Вернет 12346: обратите внимание на округление
// и отсутствие дробной части
n.toFixed(1);// Вернет 12345.7: обратите внимание на округление
n.toFixed(6); // Вернет 12345.678900: обратите внимание на добавление нулей
(1.23e+20).toFixed(2); // Вернет 123000000000000000000.00
(1.23e-10).toFixed(2) // Вернет 0.00
См. также
Number.toExponential(), Number.toLocaleString(), Number.toPrecision(), Number. toString()
Number.toLocaleString()
преобразует число в строку в соответствии с региональными настройками
Синтаксис
число.toLocaleString()
Возвращаемое значение
Зависящее от реализации строковое представление числа, отформатированное в соответствии с региональными настройками, на которое могут влиять, например, символы пунктуации, выступающие в качестве десятичной точки и разделителя тысяч.
Исключения
ТуреЕrror
Генерируется, если метод вызван для объекта, не являющегося объектом Number
.
См. также
Number.toExponential(), Number.toFixed(), Number.toPrecision(), Number.toString()
Number.toPrecision()
форматирует значащие цифры числа
Синтаксис
число.tоРгеcisіоn (точность)
Аргументы
точность Количество значащих цифр в возвращаемой строке. Оно может быть значением от 1 до 21 включительно. Конкретные реализации могут поддерживать большие и меньшие значения точности. Если этот аргумент отсутствует, для преобразования в десятичное число используется метод toString().
Возвращаемое значение
Строковое представление числа, содержащее количество значащих цифр, определяемое аргументом точность. Если точность имеет достаточно болыцое значение, чтобы включить все цифры целой части числа, возвращаемая строка записывается в нотации с фиксированной точкой. В противном случае запись осуществляется в экспоненциальной нотации с одной цифрой перед десятичной точкой и количеством цифр точность - 1 после десятичной точки. Число при необходимости округляется или дополняется нулями.
Исключения
RangeError
Генерируется, если аргумент точность слишком мал или слишком велик. Значения от 1 до 21 включительно не приводят к исключению RangeError. Конкретные реализации могут поддерживать большие и меньшие значения.
ТуреЕrror
Генерируется, если метод вызван для объекта, не являющегося объектом Number
.
Пример
var n = 12345.6789;
n.toPrecision(1); // Вернет 1е+4
n.toPrecision(3); // Вернет 1.23е+4
n.toPrecision(5); // Вернет 12346: обратите внимание на округление
n.toPrecision(10); // Вернет 12345.67890: обратите внимание на добавление нуля
См. также
Number.toExponential(), Number.toFixed(), Number.toLocaleString(), Number.toString()
Number.toString()
преобразует число в строку (переопределяет Object.toString())
Синтаксис
число.toSt ring (основание)
Аргументы
основание Необязательный аргумент, определяющий основание системы счисления (между 2 и 36), в которой должно быть представлено число. Если аргумент отсутствует, то основание равно 10. Следует заметить, что спецификация ECMAScript разрешает реализациям возвращать любое значение, если этот аргумент равен любому значению, отличному от 10.
Возвращаемое значение
Строковое представление числа.
Исключения
ТуреЕrror
Генерируется, если метод вызван для объекта, не являющегося объектом Number
.
Описание
Метод toString()
объекта Number
преобразует число в строку. Если аргумент основание опущен или указано значение 10, число преобразуется в строку по основанию 10. Хотя спецификация ECMAScript не требует от реализаций корректно реагировать на любые другие значения аргумента основание, тем не менее все распространенные реализации принимают значения основания в диапазоне от 2 до 36.
См. также
Number.toExponential(), Number.toFixed(), Number.toLocaleString(), Number.toPrecision()
Number.valueOf()
преобразует число в строку (переопределяет Object.valueOf())
Синтаксис
число.valueOf()
Возвращаемое значение
Элементарное числовое значение объекта Number
. В явном вызове этого метода редко возникает необходимость.
Исключения
ТуреЕrror
Генерируется, если метод вызван для объекта, не являющегося объектом Number
.
См. также
Object. valueOf()
- Sequence number
- 5.2.3. Действия с объектами Numbers
- Count the Number of Connections
- Maintaining Accurate Serial Numbers
- Numbers
- Number Comparison
- 1.5 Number Systems
- 1.6 Converting Binary Numbers into Decimal
- 1.7 Converting Decimal Numbers into Binary
- 1.8 Converting Binary Numbers into Hexadecimal
- 1.9 Converting Hexadecimal Numbers into Binary
- 1.10 Converting Hexadecimal Numbers into Decimal