簡體   English   中英

JavaScript大於或小於

[英]Javascript Greater than or less than

我根據其他人的建議重寫了昨天提交的代碼。 我現在有這個,但似乎仍然無法使它大於小於工作。 我可以將2個數字相加/相減,以獲得有效的答案。 我不能使用> <來工作。 希望有人可以提供一些其他幫助,使其保持在“ If語句”的這種格式內。

if ((input.search("what is greater")!= -1) && (input.search(/\d{1,10}/)!=-1) && (input.search(/\d{1,10}/)!=-1)) 
{var numbersInString = input.match(/\d+/g); 
var num1 = parseInt( numbersInString[0], 10 ); 
var num2 = parseInt( numbersInString[1], 10 ); 
if (num1 < num2) document.result.result.value = ""+num1+" is less than "+num2+""; 
if (num1 > num2) document.result.result.value = ""+num1+" is greater than "+num2+""; 
if (num1 = num2) document.result.result.value = "Both numbers are equal"; 
return true;}

聽起來您想通過兩種方式操縱數字:

1)您要引用各個字符。

2)您想將數字與另一個數字進行比較,看看一個數字是否大於另一個數字。

如果您有一個名為input的字符串,則可以使用函數parseInt(input, 10)將其從字符串轉換為該字符串表示的數字。

如果只想獲取前兩個字符,則可以使用substring函數。

要記住的重要一點是,對於計算機,字符串“ 12345”和數字12345完全不同。 該計算機具有一套完全不同的操作,它將對每台計算機執行。

同樣,@ albin正確指出在if語句后加上分號是錯誤的。

match方法的輸出是一個字符串數組,所以我認為您不是在比較數字而是字符串。 在比較您的數字之前,請嘗試執行此操作。

var num1 = parseInt( numbersInString[0], 10 );
var num2 = parseInt( numbersInString[1], 10 );

然后比較num1和num2。

http://jsfiddle.net/qt3RW/簡單輸入框:

<input id="input1" value="Is 6 greater than 5"></input>

解析器找到“是#大於#”,其中#是數字,並提醒該數字:

var IsStringValid = $("#input1").val().match(/Is \d greater than \d/g);
alert(IsStringValid);
if(IsStringValid){
    var values = $("#input1").val().match(/\d/g);
    for(var i = 0; i < values.length; i++){
        alert(values[i])
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM