2015-11-12 78 views
-2

當我通過chrome中的html頁面運行此代碼並放入,例如number1 = 1000和number2得到2000時,它警告1000更大。爲什麼?在JavaScript中,爲什麼我的「<" and ">」比較被顛倒?

var number1 = prompt("Pick a number"); 
var number2 = prompt("Pick another number"); 

if (number1 < number2) { 
    alert(number1 + "is bigger!"); 
} else if (number2 < number1) { 
    alert(number2 + "is bigger!"); 
} else if (number1 == number2) { 
    alert(number1 + "is equal to" + number2) 
} 
+1

您提醒錯誤信息'x

+0

@PaulS。這確實是問題的一半。 :-) –

+0

我道歉,我暫時扭轉了比較符號。他們原本是: var number1 = prompt(「Pick a number」); var number2 = prompt(「Pick another number」); if(number1> number2){ \t alert(number1 +「is greater!」); (number2> number1){ \t alert(number2 +「is greater!」); else if(number2> number1){ } (number1 == number2){ \t alert(number1 +「等於」+ number2) } ......並且它仍然向後報警。 – MattP

回答

1

有兩個問題上面:

  1. 你的消息是落後

  2. 你比較,而不是數字

要轉換編號爲prompt的結果,並更正您正在顯示的訊息。

你有幾個選擇將字符串轉換爲數字;我列出你的選擇和他們的加號和缺點in this answer

如果你只解決#1和#不2,到頭來你會說"20"小於"3",因爲<比較字符串lexigraphically比較它們"2"到來之前"3"(在"0""20"從未甚至被看着)。

相關問題