Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2019, 09:08
Новичок на форуме
Отправить личное сообщение для Артемка Посмотреть профиль Найти все сообщения от Артемка
 
Регистрация: 29.08.2019
Сообщений: 4

Проверка на Nan
Помогите разобраться с заданием, сижу уже 3ий день!!!((((
Написать программу, которая последовательно запрашивает у пользователя два числа, после чего сравнивает их и выводит одно из сообщений: “Первое число больше второго”, “Второе число больше первого” или “Числа равны”. Необходимо учесть ситуации, когда пользователь вместо числа ввел строку или вообще не ввел ничего. Для получения числа от пользователя пригодится функция prompt, а для вывода – alert.

Как ни крути ничего не понимаю((((((
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2019, 09:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Добавьте условие
if(typeof x == 'number' && !isNaN(x))

вместо x ваш ввод.
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2019, 09:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,134

Сообщение от Артемка
Помогите разобраться с заданием, сижу уже 3ий день!
Ты бы хоть показал, что смог родить за эти 3 дня...
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2019, 09:57
Новичок на форуме
Отправить личное сообщение для Артемка Посмотреть профиль Найти все сообщения от Артемка
 
Регистрация: 29.08.2019
Сообщений: 4

Я видимо что то не так делаю

var a = prompt("Введите первое число");
var b = prompt('Введите второе число');

if(typeof a == 'number' && !isNaN(a)) {
if (a>b) {
alert ('Первое число больше второго');
}

if (a<b) {
alert ('Второе число больше первого');
}

if (a==b) {
alert ('Числа равны');
}
}

else {
alert('Введите число')
}
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2019, 10:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,134

Сообщение от Артемка
Я видимо что то не так делаю
prompt() возвращает строку, даже если та строка вся из цифр...
Тебе нужно перевести строку в число, а потом сравнивать.
А так же
Сообщение от Артемка
Необходимо учесть ситуации, когда пользователь вместо числа ввел строку или вообще не ввел ничего.
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2019, 10:47
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var a = prompt("Введите первое число");
    var b = prompt('Введите второе число');

    var proverka = x => typeof +x == 'number' && !isNaN(+x);

    if (proverka(a) && proverka(b)) {
      if (a > b) {
        alert('Первое число больше второго');
      }

      if (a < b) {
        alert('Второе число больше первого');
      }

      if (a == b) {
        alert('Числа равны');
      }
    }

    else {
      alert('Введите число')
    }
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2019, 11:02
Новичок на форуме
Отправить личное сообщение для Артемка Посмотреть профиль Найти все сообщения от Артемка
 
Регистрация: 29.08.2019
Сообщений: 4

А x в данном уравнении, используется как любая переменная в дальнейшем вставленная в данное уравнение?
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2019, 11:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

в функцию можно передать аргументом любую переменную, внутри функции она станет иксом.
Ответить с цитированием
  #9 (permalink)  
Старый 02.09.2019, 11:12
Новичок на форуме
Отправить личное сообщение для Артемка Посмотреть профиль Найти все сообщения от Артемка
 
Регистрация: 29.08.2019
Сообщений: 4

Спасибо огромное
Ответить с цитированием
  #10 (permalink)  
Старый 23.04.2020, 10:04
Новичок на форуме
Отправить личное сообщение для Moometroll Посмотреть профиль Найти все сообщения от Moometroll
 
Регистрация: 23.04.2020
Сообщений: 1

Сообщение от j0hnik Посмотреть сообщение
var a = prompt("Введите первое число");
    var b = prompt('Введите второе число');

    var proverka = x => typeof +x == 'number' && !isNaN(+x);

    if (proverka(a) && proverka(b)) {
      if (a > b) {
        alert('Первое число больше второго');
      }

      if (a < b) {
        alert('Второе число больше первого');
      }

      if (a == b) {
        alert('Числа равны');
      }
    }

    else {
      alert('Введите число')
    }
Работает, но не правильно
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка числа на неправильность и NaN Pashok11 Общие вопросы Javascript 1 15.05.2019 22:22
Как проверить массив на NaN MC-XOBAHCK Общие вопросы Javascript 6 11.09.2018 21:09
Непонятно откуда появляется значение NaN при подсчете суммы kuchuluk Events/DOM/Window 2 05.09.2018 09:14
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Опыты с NaN. В чём прикол. ILL-JAH Общие вопросы Javascript 10 05.04.2011 20:58