为什么javascript比较编号不正确?
为什么javascript比较编号不正确 这很简单,但为什么不正确(警报为什么javascript比较编号不正确?,javascript,Javascript,为什么javascript比较编号不正确 这很简单,但为什么不正确(警报false) var xxx=“112.77”; 警报(xxx); 如果(xxx
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");
}