为什么javascript比较编号不正确?

为什么javascript比较编号不正确?,javascript,Javascript,为什么javascript比较编号不正确 这很简单,但为什么不正确(警报false) var xxx=“112.77”; 警报(xxx); 如果(xxx

为什么javascript比较编号不正确

这很简单,但为什么不正确(警报
false


var xxx=“112.77”;
警报(xxx);
如果(xxx<'2.50')
{
警告(“假”);
}
其他的
{
警惕(“真实”);
}

如果要比较字符串,请将它们解析为数字

var xxx = 112.77;
  alert(xxx);
  if(xxx < 2.50)
  {
     alert("false");     
 }
 else
  {
  alert("true");          
var xxx=112.77;
警报(xxx);
如果(xxx<2.50)
{
警告(“假”);
}
其他的
{
警惕(“真实”);
}

这是因为您使用的是字符串,而不是数字只需删除

这是你的

var x=112.77;
警报(x);
如果(x<2.50){
警报(假);
}否则{
警惕(正确);

}
您正在比较字符串

 var xxx = 112.77;
  alert(xxx);
  if(xxx < 2.50)
  {
      alert("false");     
  }
  else
  {
      alert("true");          
  }
var xxx=112.77;
警报(xxx);
如果(xxx<2.50)
{
警告(“假”);
}
其他的
{
警惕(“真实”);
}

您可以将至少一个数字转换为一个数字,然后进行比较

字符串按字符进行比较

如您所见,如果其中一个值是数字,则会按数字进行比较

var xxx=“112.77”;
控制台日志(xxx);
console.log(xxx<'2.50');//真的
console.log(+xxx<+'2.50');//假的
console.log(xxx<+'2.50');//假的

控制台日志(+xxx<'2.50');//false
如果一个对象是数字,另一个是字符串,JavaScript将执行类型转换。因此,如果出于某种原因,您的
xxx
变量是一个字符串,那么您所要做的就是更改
2.50
的类型:

 var xxx = "112.77";


  alert(xxx);
  if(xxx < 2.50 )
  {
      alert("false");     
  }
  else
  {
      alert("true");          
  }
var xxx=“112.77”;
警报(xxx);
如果(xxx<2.50)
{
警告(“假”);
}
其他的
{
警惕(“真实”);
}

“将它们解析为整数”-但它们不是整数。要编号,很抱歉“它使用第一个对象作为基类型”-不。如果其中一个值是数字,JS会尝试将另一个值强制为数字。谢谢,我不确定它是第一个对象。
 var xxx = "112.77";


  alert(xxx);
  if(xxx < 2.50 )
  {
      alert("false");     
  }
  else
  {
      alert("true");          
  }