[英]issue with comparing two numbers in javascript
我的HTML代碼是這樣的:
<html>
<SCRIPT type="text/javascript" language="JavaScript">
function fun()
{
var l = document.test.low.value;
var h = document.test.high.value;
alert(l);
alert(h);
if(l >h){
alert("low greater than high low is -"+l+"high is -"+h);
}
}
</SCRIPT>
<body>
<form name="test">
<input type="text" size="11" id="low" />
<input type="text" size="11" id="high" />
<input type="button" value="sss" onClick="fun()"/>
</form>
</body>
</html>
當我使用low為12和high為112比較這兩個值時不起作用。 例如22和122、33和133等...
我正在使用IE瀏覽器版本8。請提供幫助。
嘗試這樣:-
if(parseInt(l,10)>parseInt(h,10))
或您可以使用的浮動數字
if(parseFloat(l,10)>parseFloat(h,10))
或簡單地使用
Number()
將parseInt
與base一起使用可獲得正確的結果:
var l = parseInt(document.test.low.value, 10);
var h = parseInt(document.test.high.value, 10);
var lnum = new Number(l);
var hnmu = new Number(h);
if(lnum > hnum){
alert('if');
}else{
alert('else');
}
在if語句中比較兩個字符串時:
if ( l > h) {}
when l = "12" and h = "112"
它將這兩個值作為字符串比較為"3" > "1"
。 它說l > h
為真
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.