Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中比较两个数字的问题_Javascript_Html - Fatal编程技术网

javascript中比较两个数字的问题

javascript中比较两个数字的问题,javascript,html,Javascript,Html,我的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 lo

我的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>

函数fun()
{
var l=document.test.low.value;
var h=document.test.high.value;
警报(l);
警报(h);
如果(l>h){
警报(“低大于高-低为-”+l+“高为-”+h);
}
}
当我比较这两个值时,使用low is 12和high is 112不起作用。 比如22和122,33和133等等


我正在使用IE浏览器版本8。请提供帮助。

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

if(+l > +h){
一元加号运算符将字符串值转换为数值。有关更多详细信息,请参见此问题:

.

使用带base的以获得正确的结果:

var l = parseInt(document.test.low.value, 10);
var h = parseInt(document.test.high.value, 10);
试着这样做:-

if(parseInt(l,10)>parseInt(h,10))
或者对于浮点数,您可以使用

if(parseFloat(l,10)>parseFloat(h,10))
或者干脆用

Number()

比较if语句中的两个字符串时:

if ( l > h) {}    
when l = "12" and h = "112"

它将这两个值作为字符串进行比较,如
“3”>“1”
。它说
l>h
真的

不确定
parseInt
在这里是否好,例如,
10a
将被转换为
10
,即使它不是一个真正的数字-使用一元加号将使其成为
NaN
值,这在我看来更合适。@ShadowWizard:在这种情况下,
+
可以加前缀,然后加上
parseInt
,但单独使用
+
并不能避免八进制数问题如果数字恰好是八进制格式,它将不起作用:是的,你是对的,那么在这种情况下:使用基本值或简单地使用number()idk原因是什么,但是number()对我不起作用,但是其他东西起作用
var lnum = new Number(l);
var hnmu = new Number(h);
if(lnum > hnum){
alert('if');

}else{
alert('else');
}