Что за объект Number в JavaScript

JavaScript

Объект Number в JavaScript представляет собой объект-оболочку вокруг примитивного числового значения.

Он позволяет представлять любые числовые данные, включая целые числа или числа с плавающей точкой.

Объект JavaScript number следует стандарту IEEE 64-бит для представления чисел с плавающей точкой. Все числовые значения являются 64-битными числами с плавающей точкой в ​​JavaScript.

С помощью конструктора Number() мы можем создать экземпляр Number, передав числовое значение конструктору Number().

Общий синтаксис для создания объекта Number в JavaScript выглядит следующим образом:

var num = new Number(numericValue);

Здесь параметр конструктора numericValue — это число для сохранения в объекте. Рассмотрим следующие примеры ниже.

var firstNum = new Number(12345);
var secondNum = new Number('12345');

Однако интерпретатор JavaScript автоматически создает объекты Number для хранения числовых значений в программе JavaScript по мере необходимости.

Примечание: если значение несовместимо с числом, возвращается NaN (не число).

Статические свойства объекта JavaScript Number

Объект JavaScript Number предоставляет несколько статических свойств (т.е. констант), которые полезны при числовом сравнении. Список числовых констант JavaScript с описанием выглядит следующим образом:

(a) MAX_VALUE: Возвращает наибольшее возможное положительное число, с которым мы работаем в JavaScript. Его фактическое значение — 1,797 * 10^308.

(b) MIN_VALUE: Возвращает наименьшее возможное положительное значение, с которым мы работаем в JavaScript. Его фактическое значение составляет 5 * 10^-324.

(c) POSITIVE_INFINITY: Возвращает специальное числовое значение, когда арифметическая операция или математическая функция переполняется или выдает значение больше Number.MAX_VALUE. JavaScript выводит значение POSITIVE_INFINITY как бесконечность.

(d) NEGATIVE_INFINITY: Возвращает специальное числовое значение, когда арифметическая операция или математическая функция переполняется или выдает отрицательное значение больше, чем -Number.MAX_VALUE. JavaScript выводит значение NEGATIVE_INFINITY как -Infinity.

(e) NaN: представляет собой значение «Не число».

Синтаксис для доступа к этим константам следующий:

Number.MAX_VALUE;
Number.MIN_VALUE;

Например:
   console.log(Number.MAX_VALUE); // выводит 1.797

Числовые методы JavaScript

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

Список числовых методов с их описанием выглядит следующим образом:

(а) toExponential():

Этот метод возвращает строку, представляющую число в экспоненциальной нотации. Он принимает необязательный параметр digits, который принимает целое значение от 0 до 20.

Здесь цифры представляют количество цифр после десятичной точки. Если мы ее опустим, то метод отобразит столько цифр, сколько необходимо для полного представления числа.

Общий синтаксис использования этого метода следующий:

Number.toExponential(digits);

Давайте рассмотрим очень простой пример программы, основанной на этом методе.

<script>
   let myNumber = 20;
   let num1 = myNumber.toExponential();
   let num2 = myNumber.toExponential(2);
   console.log(num1);
   console.log(num2);
</script>
Вывод:
      2e+1
      2.00e+1

(б) toFixed():

Этот метод возвращает строку, представляющую число с точными цифрами после десятичной точки. Если мы не укажем параметр, метод будет считать его равным 0 и округлит число до ближайшего целого числа.

Общий синтаксис использования метода toFixed() выглядит следующим образом:

Number.toFixed(num);

Здесь параметр num представляет собой количество цифр после десятичной точки.

Давайте рассмотрим простой пример программы, основанной на этом методе.

<script>
  let myNumber = 20.29;
  let num1 = myNumber.toFixed();
  let num2 = myNumber.toFixed(2);
  let num3 = myNumber.toFixed(4);

  console.log(num1);
  console.log(num2);
  console.log(num3);
</script>
Вывод:
      20
      20.29
      20.2900

(c) toPrecision():

Этот метод возвращает строку, представляющую число, округленное до количества значащих цифр, указанного параметром.

Результат может быть в виде фиксированной точки или экспоненциальной записи по мере необходимости. Общий синтаксис для использования этого метода в программе JavaScript выглядит следующим образом:

Number.toPrecision(precision);

Здесь параметр precision будет принимать целочисленное значение от 1 до 21. Если он выходит за пределы этого диапазона, метод выдаст ошибку диапазона.

Если мы не предоставляем целочисленное значение, то метод просто возвращает строковое представление числа. Давайте рассмотрим простой пример программы, основанной на этом методе.

<script>
  let myNumber = 30.29;
  let num1 = myNumber.toPrecision();
  let num2 = myNumber.toPrecision(3);
  let num3 = myNumber.toPrecision(10);

  console.log(num1);
  console.log(num2);
  console.log(num3);
</script>
Вывод:
      30.29
      30.3
      30.29000000

(г) toString():

Этот метод возвращает строку, представляющую число. Он принимает необязательный параметр radix (основание), который указывает целое число от 2 до 26.

Если мы предоставим аргумент вне допустимого диапазона, то будет выдано исключение. Если мы вообще не предоставим основание, то основанием по умолчанию будет 10.

Общий синтаксис определения метода toString() выглядит следующим образом:

Number.toString(radix);

Давайте напишем программу на JavaScript, основанную на этом методе.

<script>
  let myNumber = 17;
  let num1 = myNumber.toString();
  let num2 = myNumber.toString(3);
  let num3 = myNumber.toString(10);

// Displaying the string representation of numbers.
   console.log(num1);
   console.log(num2);
   console.log(num3);
   console.log(num1+num2 +num3);
</script>
Вывод:
      17
      122
      17
      1712217

(д) parseInt():

Этот метод преобразует строковый аргумент в целое число и возвращает это целое число. Общий синтаксис для объявления этого метода следующий:

Number.parseInt(string, radix);

В приведенном выше синтаксисе с аргументом string мы также можем указать аргумент radix, чтобы указать основание используемой системы счисления. Однако это необязательно. Он возвращает NaN, если первый символ не преобразован в число.

Давайте рассмотрим простой пример программы метода parseInt().

<script>
  let a = "30";
  let b = "20.25"
  let c= "text";
  let d = "30Text";
  let e = "20.25String"

  console.log(Number.parseInt(a));
  console.log(Number.parseInt(b));
  console.log(Number.parseInt(c));
  console.log(Number.parseInt(d));
  console.log(Number.parseInt(e));
</script>
Вывод:
      30
      20
      NaN
      30
      20

Давайте рассмотрим еще один пример программы, в которой мы сложим две строки с использованием метода parseInt() и без него.

<script>
  let x = "20";
  let y = "30";
  let z = x+y;
  console.log("Before invoking parseInt(): "+z);

  let sum = Number.parseInt(x)+Number.parseInt(y);
  console.log("After invoking parseInt(): "+sum);
</script>
Вывод:
      Before invoking parseInt(): 2030
      After invoking parseInt(): 50

Давайте рассмотрим еще один пример, в котором мы передадим аргумент radix в метод parseInt().

<script>
  let a = "20";
  console.log(Number.parseInt(a,10));
  console.log(Number.parseInt(a,8));
  console.log(Number.parseInt(a,16));
</script>
Вывод:
      20
      16
      32

(е) parseFloat():

Этот метод преобразует аргумент строки в число с плавающей точкой и возвращает это число с плавающей точкой. Общий синтаксис для объявления этого метода следующий:

Number.parseFloat(string);

Если первый символ не преобразован в число, то этот метод возвращает NaN. Давайте рассмотрим простой пример программы метода parseFloat().

<script>
  let a = "80";
  let b = "80.25"
  let c = "Text";
  let d = "50Text";
  let e = "80.25String"

  console.log(Number.parseFloat(a));
  console.log(Number.parseFloat(b));
  console.log(Number.parseFloat(c));
  console.log(Number.parseFloat(d));
  console.log(Number.parseFloat(e));
</script>
Вывод:
       80
       80.25
       NaN
       50
       80.25

Давайте рассмотрим пример программы, в которой мы сложим две строки с использованием метода parseFloat() и без него.

<script>
  let x = "22.55";
  let y = "99.99";
  let z = x+y;
  console.log("Before invoking parseFloat(): "+z);

  let sum = Number.parseFloat(x)+Number.parseFloat(y);
  console.log("After invoking parseFloat(): "+sum);
</script>
Вывод:
      Before invoking parseFloat(): 22.5599.99
      After invoking parseFloat(): 122.53999999999999

(g) isInteger():

Этот метод определяет, является ли указанное значение целым числом. Он возвращает логическое значение true, если значение является целым числом, в противном случае он возвращает false. Общий синтаксис для объявления этого метода следующий:

Number.isInteger(num);

Здесь num — это параметр, который необходимо проверить.

Давайте рассмотрим простой пример программы, основанной на методе isInteger().

<script>
  const x = 0;
  const y = 1;
  const z = -1;
  console.log(Number.isInteger(x));
  console.log(Number.isInteger(y));
  console.log(Number.isInteger(z));
</script>
Output:
      true true true

Давайте рассмотрим пример программы, в которой мы увидим метод isInteger() с некоторыми тестовыми случаями.

<script>
 function check(a, b)
 {
    return a/b;
 }
 console.log(Number.isInteger(check(10, 2)));
 console.log(Number.isInteger(check(20, 7)));
</script>
Вывод:
      true false

Давайте рассмотрим еще один пример, в котором мы получим false для некоторых значений при вызове метода isInteger().

<script>
  console.log(Number.isInteger(3.5));
  console.log(Number.isInteger(-3.5));
  console.log(Number.isInteger('4.5'));
  console.log(Number.isInteger(Infinity));
  console.log(Number.isInteger(-Infinity));
  console.log(Number.isInteger(NaN));
</script>
Вывод:
       false false false false
       false false

(h) isFinite():

Этот метод определяет, является ли указанное значение конечным числом. Он возвращает true, если значение является конечным числом, в противном случае он возвращает false. Общий синтаксис выглядит следующим образом:

Number.isFinite(num);

Давайте рассмотрим простой пример программы, основанной на методе isFinite().

<script>
  let x = 0;
  let y = 1;
  let z = -1;
 
  console.log(Number.isFinite(x));
  console.log(Number.isFinite(y));
  console.log(Number.isFinite(z));
</script>
Вывод:
      true true true

Давайте рассмотрим пример, в котором мы будем использовать метод isFinite() с отрицательными числами.

<script>
  function check(a, b)
  {
    return a/b;
  }
  console.log(Number.isFinite(check(0,10)));
  console.log(Number.isFinite(check(10,0)));
</script>
Вывод:
      true false

Давайте рассмотрим пример, в котором мы увидим поведение метода isFinite() с некоторыми различными тестовыми случаями.

<script>
  console.log(Number.isFinite(Infinity));
  console.log(Number.isFinite(-Infinity));
  console.log(Number.isFinite(NaN));
</script>
Вывод:
       false
       false 
       false

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

Оцените статью
Adblock
detector