Книга: 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()

Оглавление книги


Генерация: 0.109. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз