2014-02-20 2 views
0

У меня есть простой вопрос для вас, и это беспокоит меня целый день. У меня есть выражение, это похоже на то, что у меня есть 2 переменные, например x и y. x будет иметь значение 7, и я хочу, чтобы y всегда было больше x. Если введенное число меньше x, оно будет вызывать предупреждение.Результаты выражения в ошибке

y.value > x.value 
alert("the number must be greater than X") 

Проблема заключается в том, что когда я ввожу 10,11,12 и любое 2-значное число больше 7, оно отображает окно предупреждения. Я думаю, потому что сначала вы вводите первую цифру, чтобы программа ее читала. может кто-нибудь помочь мне с этой логикой спасибо

+0

Не могли бы вы уточнить свой код? Покажите нам, как и где вы принимаете значения x & y? – Rohan

+0

У нас есть минимальный рабочий пример? Как вы получаете значение этих переменных? – dirluca

+0

Где ваша инструкция 'if'? – Barmar

ответ

1

Вам нужно будет проверить, установлены ли значения x.value и y.value как строка или число.

Строка «12» меньше «7» в то время как число 12 больше, чем 7.

Если они являются строками, вы можете захотеть, чтобы преобразовать их в числа и сравнить их.

'12' > '7' 
false 

12 > 7 
true 

// STRING comparison 
var x = { value: '7' }; 
var y = { value: '12'}; 
y.value > x.value; 
false 

// NUMBER comparison 
var x = { value: 7 }; 
var y = { value: 12 }; 
y.value > x.value; 
true 

// convert STRING to NUMBER and compare 
var x = { value: '7' }; 
var y = { value: '12' }; 
+y.value > +x.value; // conversion 
true 
Смежные вопросы