Объект Number в JavaScript
Для представления числовых типов данных в JavaScript имеется объект Number. Данный класс содержит константы и методы, которые достаточно часто используются при работе с числами. Об использовании объекта Number я Вам и собираюсь рассказать.
Конструктор в классе Number используется крайне редко, так как при создании числовых типов они автоматически преобразуются в объект Number. Но всё-таки на всякий случай привожу пример использования конструктора объекта Number:
var num = new Number(5.1);
В качестве параметра конструктора класса Number передаётся обычное число.
Теперь перейдём к свойствам класса Number. Рассмотрим свойства-константы MIN_VALUE и MAX_VALUE, которые показывают минимально возможное значение (большее нуля при этом) и максимальное возможное значение у чисел. Давайте выведем эти константы (обратите внимание, что мы обращаемся к свойствам не объекта, а класса!):
document.write(Number.MIN_VALUE + "<br>");
document.write(Number.MAX_VALUE + "<br>");
Если запустить этот скрипт, то Вы увидите два значения. Как видите, точность очень высокая (следует из MIN_VALUE), а максимальное значение огромное (следует из MAX_VALUE).
Следующие две константы означают бесконечность. Константа POSITIVE_INFINITY означает положительную бесконечность, а NEGATIVE_INFINITY, соответственно, отрицательную бесконечность:
document.write(Number.POSITIVE_INFINITY + "<br>");
document.write(Number.NEGATIVE_INFINITY + "<br>");
Как можно получить бесконечность при вычислениях? А очень просто, например, посчитать экспоненту от 1000:
document.write(Math.exp(1000));
В результате Вы увидите: "Infinity". Особенность бесконечности в том, что она может участвовать в математических операциях. Например:
document.write(1000 / Math.exp(1000));
В результате Вы увидите 0. И, действительно, если 1000 разделить на бесконечно большое число, то будет 0.
Теперь перейдём к методам объекта Number. И сразу рассмотрим безумно часто используемый метод, который называется Number(). Этот метод преобразует переменную (которая передаётся через параметр) в число. Очевидно, что данный метод используется, в первую очередь, при преобразовании строк в числа. Вот пример:
var num = Number("321.5");
Заметьте, что передаём мы строку, а возвращается уже число "321.5". В частности, когда мы принимаем значения от пользователя из функции prompt(). То мы получаем строку! Это очень важно, если Вы это не поймёте, то Вам не избежать ошибок. И чтобы эта строка стала числом её необходимо пропустить через метод Number(). Поэтому прежде, чем использовать данные полученные от пользователя, как числа, необходимо их преобразовать в эти самые числа. Это очень важное правило!
И последний метод, который достаточно часто используется - это toFixed(). Этот метод применяется к объекту. Метод toFixed() используется для округления дробных чисел. В качестве параметров данный метод принимает число, означающее количество знаков после запятой, которое мы хотим оставить:
var num = 931.1256;
document.write(num.toFixed(3));
В результате Вы увидите: "931.126", то есть округлённое число до трёх знаков после запятой.
Вот и все свойства и методы объекта Number, которые Вы будете регулярно использовать в Вашей практической деятельности.
-
- Михаил Русаков
Комментарии (6):
Миш, а как из строки изъять числа? Существует ли этакий аналог INT из PHP?
Ответить
Преобразовать строку в число? Для этого используется Number(), о нём в статье написано.
Ответить
Не катит. var str=new Number("1234abc"); дает NaN вместо ожидаемых 1234. В общем славься любимые регулярные выражения!!!
Ответить
Таких функций в JS нет, и не считаю, что они нужны, это не пойми что. Поэтому здесь действительно надо использовать регулярные выражения.
Ответить
Да здравствует свежая статья о квантификаторах для жабы! ;)
Ответить
var num = parseInt("1234abc", 10); Можно и так.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.