Перейти к содержимому

Как проверить является ли переменная числом js

  • автор:

Как проверить переменную «лежит» там строка или число?

prompt() — всегда возвращает строку. Но это может быть строка с символом числа: «3» например.
Надо попытаться перевести ее в строку: Number(n) — получим либо число, либо NuN. Например Number(«2») даст 2, а Number(«a») даст NaN
Чтобы проверить, что в переменной NaN надо вызвать Number.isNaN. Number.isNaN(2) даст false, Number.isNaN(NaN)
В итоге получаем

var n=prompt(); if(Number.isNaN(Number(n))) alert('Это строка');

Ответ написан более трёх лет назад
Нравится 4 3 комментария

1PeGaS

pegas @1PeGaS Автор вопроса

Смотрите:
var n=prompt(); // Если ввести строку
n=+n;
alert(n); // И вывести непосредственно alert(n); То выводит NaN
Но если проверить n==NaN будет false

JavaScript Проверка, является ли переменная числовым примером

JavaScript называется динамически типизированным языком. Это означает, что в языке есть типы данных, но переменные могут содержать значения разных типов данных в разные моменты времени. Мы можем объявить переменную и назначить строку, а затем присвоить ей номер следующим образом:

let name = «Siddharth» ;

Поведение, отображаемое в приведенном выше фрагменте, делает JavaScript динамически типизированным языком. Lisp, Groovy – это некоторые другие динамически типизированные языки. Это подводит нас к сути этой статьи. Как проверить, содержит ли переменная в определенный момент времени числовое или числовое значение.

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

2. Проверка JavaScript, является ли переменная числом

Мы можем выполнить эту проверку, используя оператор typeof в JavaScript. Оператор typeof возвращает строку, которая указывает тип предоставленного операнда. JavaScript имеет следующие типы данных:

Помимо вышесказанного есть значение NaN .

Итак, давайте создадим утилиту для проверки типа и возврата ее типа. Структура нашего приложения NodeJS будет выглядеть следующим образом:

Проверка JavaScript, является ли переменная числом - структура проекта

Код для модуля typeChecker выглядит следующим образом:

Проверка на число JS

StringsTest.assertEquals( isAN(«2») , false) BooleansTest.assertEquals( isAN(true) , false) OthersTest.assertEquals( isAN(null) , false) NumbersTest.assertEquals( isAN(2) , true) new Number()sTest.assertEquals( isAN(Number(1)) , true) NaN Number()s — Test.assertEquals( isAN(NaN), false)

Number.isInteger()

Метод Number.isInteger() определяет, является ли переданное значение целым числом.

Интерактивный пример

Синтаксис

Number.isInteger(value)

Параметры

Значение, проверяемое на целочисленность.

Возвращаемое значение

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

Описание

Если целевое значение является целым числом, возвращает true . Если значение NaN или Infinity , то возвращает false . Метод также возвращает true , если это вещественное число с точкой, которое может быть представлено в целочисленном виде.

Примеры

.isInteger(0); // true Number.isInteger(1); // true Number.isInteger(-100000); // true Number.isInteger(99999999999999999999999); // true Number.isInteger(0.1); // false Number.isInteger(Math.PI); // false Number.isInteger(NaN); // false Number.isInteger(Infinity); // false Number.isInteger(-Infinity); // false Number.isInteger("10"); // false Number.isInteger(true); // false Number.isInteger(false); // false Number.isInteger([1]); // false Number.isInteger(5.0); // true Number.isInteger(5.000000000000001); // false Number.isInteger(5.0000000000000001); // true 

Полифил

.isInteger = Number.isInteger || function (value)  return ( typeof value === "number" && isFinite(value) && Math.floor(value) === value ); >; 

Спецификации

Specification
ECMAScript Language Specification
# sec-number.isinteger

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Объект Number , которому принадлежит этот метод.

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 7 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *