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

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

    Последнее обновление: 1.11.2015

    Объект Number представляет числа. Чтобы создать число, надо передать в конструктор Number число или стоку, представляющую число:

    Var x = new Number(34); var y = new Number("34"); document.write(x+y); // 68

    Определения x и y в данном случае будут практически аналогичны.

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

    Var z = 34;

    Объект Number предоставляет ряд свойств и методов. Некоторые его свойства:

      Number.MAX_VALUE: наибольшее возможное число. Приблизительно равно 1.79E+308. Числа, которые больше этого значения, рассматриваются как Infinity

      Number.MIN_VALUE: наименьшее возможное положительное число. Приблизительно равно 5e-324 (где-то около нуля)

      Number.NaN: специальное значение, которое указывает, что объект не является числом

      Number.NEGATIVE_INFINITY: значение, которое обозначает отрицательную неопределенность и которое возникает при переполнении. Например, если мы складываем два отрицательных числа, которые по модулю равны Number.MAX_VALUE. Например:

      Var x = -1 * Number.MAX_VALUE var y = -1 * Number.MAX_VALUE var z = x + y; if(z===Number.NEGATIVE_INFINITY) document.write("отрицательная неопределенность"); else document.write(z);

      Number.POSITIVE_INFINITY: положительная неопределенность. Также, как и отрицательная неопределенность, возникает при переполнении, только теперь в положительную сторону:

      Var x = Number.MAX_VALUE var y = Number.MAX_VALUE var z = x * y; if(z===Number.POSITIVE_INFINITY) document.write("положительная неопределенность"); else document.write(z);

    Некоторые основные методы:

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

      Var a = Number.isNaN(Number.NaN); // true var b = Number.isNaN(true); // false - new Number(true) = 1 var c = Number.isNaN(null); // false - new Number(null) = 0 var d = Number.isNaN(25); // false var e = Number.isNaN("54"); // false

      Но следующее выражение вернет false, хотя значение не является числом:

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

      Чтобы избежать подобных ситуаций, лучше применять глобальную функцию isNaN :

      Var f = isNaN("hello"); // true

      parseFloat() : преобразует строку в число с плавающей точкой. Например:

      Var a = Number.parseFloat("34.90"); // 34.9 document.write(a); var b = Number.parseFloat("hello"); // NaN document.write(b); var c = Number.parseFloat("34hello"); // 34 document.write(c);

      parseInt() : преобразует строку в целое число. Например:

      Var a = Number.parseInt("34.90"); // 34 document.write(a); var b = Number.parseInt("hello"); // NaN document.write(b); var c = Number.parseInt("25hello"); // 25 document.write(c);

      toFixed() : оставляет в числе с плавающей точкой определенное количество знаков в дробной части. Например:

      Var a = 10 / 1.44; document.write("До метода toFixed(): " + a + "
      "); a = a.toFixed(2); // оставляем два знака после запятой document.write("После метода toFixed(): " + a + "
      ");


      Функция 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