@DON1986

Почему не корректно работает программа? Например при сравнении 2 и 11 выводит 2?

<input type="number" class="qw">
	<input type="number" class="qw1">
	<button>Go</button>
	<div class="out"></div>


let out = document.querySelector('.out');
const button = document.querySelector('button');

button.onclick = function () {
	let number1 = document.querySelector('.qw').value;
	let number2 = document.querySelector('.qw1').value;

	if (number1 > number2) {
		out.innerHTML = number1;
	} else if (number2 > number1) {
		out.innerHTML = number2;
	} else {
		out.innerHTML = "равны";
	}
	
}
  • Вопрос задан
  • 68 просмотров
Решения вопроса 3
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Потому что вы сравниваете строки, а не числа.
"2" > "11", но 2 < 11.
console.log("2" > "11"); //true
console.log(2 > 11); //false

Вашим решением будет использовать вот такое выражение:
const number1 = parseInt(document.querySelector('.qw').value);
const number2 = parseInt(document.querySelector('.qw1').value);
Ответ написан
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Приведение типов
5d836061353f8292390388.png
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
Потому что вы сравниваете строки "2" и "11", по правилам сравнения строк "2" больше чем "11" потому что первый символ: "2" больше чем "1".
используйте parseInt() или parseFloat() чтобы строки сделать числом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
добавлю что можно плюсиком преобразовать в число, чтобы много не писать

let number1 = +document.querySelector('.qw').value;
let number2 = +document.querySelector('.qw1').value;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы