Функция isNaN - Число или не число - Числовые объекты типа Number в Javascript. JavaScript Методы Number


Функция isNaN возвращает лишь два значения: либо Истина - true , либо Ложь - false .

Если в переменной не число , то функция isNaN вернет Истину - следует обратить на это особое внимание (НЕ ЧИСЛО – это ИСТИНА. isNaN переводится как не число) . Если же в переменной число , то она вернет Ложь .

var name = "Антон" ; /* строковый объект */
var age = 35 ; /* числовой объект */

if(isNaN (name )) /* Если в переменной name не число - это Истина */
{
document.write (name + " - это не число" )
}
else /* иначе - Ложь */
{
document.write (name + " - это число" )
}

Запомните, что isNaN - это встроенная в javascript функция.

, благодаря которому и при помощи функции isNaN проводилась проверка: является ли значение переменной числом или нет .

Кроме этого здесь нужно будет вспомнить тему массивов , циклов и функций в javascript .

var randSimbol = ["Молоко" , 77 , 11 , "Мед" , - 88 ];

function number (randSimbol )
{
for(i = 0 ; i < randSimbol .length ; i ++ ) /* Составляем цикл для перебора всех элементов масива */
{
if(isNaN (randSimbol )) /* Если элемент массива не число (это Истина), то... */
{
document.write (randSimbol + " - это не число

" )
}
else /* Иначе элемент массива - это число (и это Ложь).... */
{
document.write (randSimbol + " - это число

" )
}
}
}

number (randSimbol ); /* Вызываем функцию */

Вот так работает функция isNaN применительно к числовым объектам Number в Javascript .

Здравствуйте! В этом уроке мы продолжаем тему встроенных объектов в JavaScript и после объекта Date рассмотрим такой встроенный объект как Number, который представляет числа. Чтобы создать число, надо просто передать в Number число или стоку, представляющую число:

Var num1 = new Number(55); var num2 = new Number("55"); document.write(num1+num2); //110

Определения переменных num1 и num2 будут аналогичны.

Создание объекта Number

Создать объект Number можно присвоением переменной определенного числа:

Var a1 = 32;

В объекте Number есть несколько свойств и методов. Вот они:

  • Number.MAX_VALUE: Возвращает наибольшее целое это 1.79E+308. Все остальные числа, которые будут больше данного значения, это Infinity, то есть бесконечность
  • Number.MIN_VALUE: Возвращает наименьшее положительное целое число это 5e-324
  • Number.NaN: указывает что объект не число
  • Number.NEGATIVE_INFINITY: Обозначает отрицательную неопределенность, которая возникает при переполнении. Например: var x1 = -10 * Number.MAX_VALUE var y1 = -10 * Number.MAX_VALUE var z1 = x1 + y1; if(z1===Number.NEGATIVE_INFINITY) document.write("есть отрицательная неопределенность"); else document.write(z1);
  • Number.POSITIVE_INFINITY: сответственно положительная неопределенность. Может возникать при переполнении только на этот раз в положительную сторону: var x1 = Number.MAX_VALUE var y1 = Number.MAX_VALUE var z1 = x1 * y1; if(z1===Number.POSITIVE_INFINITY) document.write("есть положительная неопределенность"); else document.write(z1);

Перечислим некоторые основные методы объекта Number:

  • isNaN(): проверяет является ли объект числом если объект не число, то возвращает true: var a1 = Number.isNaN(Number.NaN); //true var b1 = Number.isNaN(true); //false - new Number(true) = 1 var c1 = Number.isNaN(null); //false - new Number(null) = 0 var d1 = Number.isNaN(255); //false var e1 = Number.isNaN("55"); //false

    А вот такое выражение вернет false, несмотря на то, что значение не является числом:

    Var fal = Number.isNaN("hello world"); //false

    Поэтому во избежание таких ситуаций, следует использовать глобальную функцию isNaN:

    Var fal = isNaN("hello world"); //true

  • parseFloat(): Эта функция преобразует строку в число с запятой. Например: var a1 = Number.parseFloat("44.90"); //44.9 alert(a1); var b1 = Number.parseFloat("hello world"); //NaN alert(b1); var c1 = Number.parseFloat("34hello"); //34 alert(c1);
  • parseInt(): Эта функция преобразует строку в целое число. Вот пример: var a1 = Number.parseInt("44.90"); //44 document.write(a1); var b1 = Number.parseInt("hello world"); //NaN document.write(b1); var c1 = Number.parseInt("25hello"); //25 document.write(c1);
  • toFixed(): позволяет оставить в числе с плавающей точкой определенное количество знаков после запятой. Пример: var a1 = 10/1.44; document.write("До метода toFixed(): " + a1 + "
    "); a1 = a1.toFixed(2); // останется 2 знака после запятой document.write("После метода toFixed(): " + a1 + "
    "); В браузере получим: До метода toFixed(): 6.944444444444445 После метода toFixed(): 6.94
Итоги

Объект Number используется для создания чисел

Метод isNaN() проверяет является ли объект числом и возвращает true, если он числом не является

Если число выходит за пределы числового диапозона JavaScript, то возвращается специальное значение Infinity

Для преобразования строки в число используются функции parseInt/parseFloat

Округлить число до нужного количества знаков после запятой позволяет метод toFixed()

О бъект Number представляет числовую дату, либо целые числа или число с плавающей точкой. В общем, вам не нужно беспокоиться об объектах Number, поскольку браузер автоматически преобразует число литералов в экземпляры класса Number.

Синтаксис

Синтаксис для создания объекта Number следующий:

Var val = new Number(number);

Если в место числа, вы предоставляете какие – либо не-номерные аргументы, то аргумент не может быть преобразован в число, функция возвращает NaN (Not-A-Number).

Свойства Number

Вот список всех свойств и их описание.

В следующих разделах мы предоставим несколько примеров, чтобы продемонстрировать свойства Number.

Методы Number

Объект Number содержит только стандартные методы, которые являются частью определения каждого объекта.

Sr.No Метод & Описание
1 – Принудительный ряд для отображения в экспоненциальной записи, даже если число находится в диапазоне, в котором JavaScript, как правило, использует стандартные обозначения.
2 – Преобразует число с определенным количеством цифр справа от десятичной запятой.
3 – Возвращает версию строкового значения текущего числа в формате, который может изменяться в соответствии с локальными настройками браузера.
4

Для представления числовых типов данных в JavaScript имеется объект Number . Данный класс содержит константы и методы, которые достаточно часто используются при работе с числами. Об использовании объекта Number я Вам и собираюсь рассказать.

Конструктор в классе Number используется крайне редко, так как при создании числовых типов они автоматически преобразуются в объект Number . Но всё-таки на всякий случай привожу пример использования конструктора объекта Number :

Var num = new Number(5.1);

В качестве параметра конструктора класса Number передаётся обычное число.

Теперь перейдём к свойствам класса Number . Рассмотрим свойства-константы MIN_VALUE и MAX_VALUE , которые показывают минимально возможное значение (большее нуля при этом) и максимальное возможное значение у чисел. Давайте выведем эти константы (обратите внимание, что мы обращаемся к свойствам не объекта, а класса! ):

Document.write(Number.MIN_VALUE + "
");
document.write(Number.MAX_VALUE + "
");

Если запустить этот скрипт, то Вы увидите два значения. Как видите, точность очень высокая (следует из MIN_VALUE ), а максимальное значение огромное (следует из MAX_VALUE ).

Следующие две константы означают бесконечность. Константа POSITIVE_INFINITY означает положительную бесконечность, а NEGATIVE_INFINITY , соответственно, отрицательную бесконечность:

Document.write(Number.POSITIVE_INFINITY + "
");
document.write(Number.NEGATIVE_INFINITY + "
");

Как можно получить бесконечность при вычислениях? А очень просто, например, посчитать экспоненту от 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 , которые Вы будете регулярно использовать в Вашей практической деятельности.