Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка на Nan (https://javascript.ru/forum/misc/78363-proverka-na-nan.html)

Артемка 02.09.2019 09:08

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

Как ни крути ничего не понимаю((((((

j0hnik 02.09.2019 09:34

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

вместо x ваш ввод.

ksa 02.09.2019 09:54

Цитата:

Сообщение от Артемка
Помогите разобраться с заданием, сижу уже 3ий день!

Ты бы хоть показал, что смог родить за эти 3 дня...

Артемка 02.09.2019 09:57

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

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('Введите число')
}

ksa 02.09.2019 10:11

Цитата:

Сообщение от Артемка
Я видимо что то не так делаю

prompt() возвращает строку, даже если та строка вся из цифр...
Тебе нужно перевести строку в число, а потом сравнивать. ;)
А так же
Цитата:

Сообщение от Артемка
Необходимо учесть ситуации, когда пользователь вместо числа ввел строку или вообще не ввел ничего.


j0hnik 02.09.2019 10:47

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('Введите число')
    }

Артемка 02.09.2019 11:02

А x в данном уравнении, используется как любая переменная в дальнейшем вставленная в данное уравнение?

j0hnik 02.09.2019 11:08

в функцию можно передать аргументом любую переменную, внутри функции она станет иксом.

Артемка 02.09.2019 11:12

Спасибо огромное:thanks: :thanks: :thanks:

Moometroll 23.04.2020 10:04

Цитата:

Сообщение от j0hnik (Сообщение 512414)
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('Введите число')
    }

Работает, но не правильно:(


Часовой пояс GMT +3, время: 01:06.