在javascript中比较两个数字的问题

sud*_*dha 13 html 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>
Run Code Online (Sandbox Code Playgroud)

当我比较这两个值时,使用low是12而high是112则不起作用.像22和122,33和133等....

我正在使用IE浏览器版本8.请帮助.

Pra*_*nav 24

试试这样: -

if(parseInt(l,10)>parseInt(h,10))
Run Code Online (Sandbox Code Playgroud)

或者您可以使用浮动数字

if(parseFloat(l,10)>parseFloat(h,10))
Run Code Online (Sandbox Code Playgroud)

或者只是使用

Number()
Run Code Online (Sandbox Code Playgroud)


Sha*_*ard 9

您需要将它们转换为数字:

if(+l > +h){
Run Code Online (Sandbox Code Playgroud)

一元加号运算符会将字符串值转换为数值.有关详细信息,请参阅此问题:
一元加减运算符的重要用途是什么?

实例.


Sar*_*raz 6

与base一起使用可获得正确的结果:parseInt

var l = parseInt(document.test.low.value, 10);
var h = parseInt(document.test.high.value, 10);
Run Code Online (Sandbox Code Playgroud)