2017-08-17 77 views
-4

为什么我的JavaScript比较运算符代码工作不正确?为什么我的JavaScript比较运算符代码工作不正确?

在此代码requests_withdraw是300和金钱是

1200.34但是当我测试的代码它会提醒not enough money for withdraw为什么?我能怎么做 ?

<script> 
 
reqests_withdraw = "300"; 
 
money = "1200.34"; 
 
if(reqests_withdraw > money) 
 
{ 
 
    alert("not enough money for withdraw"); 
 
} 
 
else 
 
{ 
 
\t alert("OK"); 
 
} 
 
</script>

+10

你'比较**字符串**,而不是数字。 – Pointy

+1

顺便说一句,它工作正常。 –

+0

我敢肯定,这是一个骗局......虽然找不到。 –

回答

2

您比较没有数字

删除双引号

reqests_withdraw = 300; 
 
money = 1200.34; 
 
if (reqests_withdraw > money) { 
 
    alert("not enough money for withdraw"); 
 
} else { 
 
    alert("OK"); 
 
}

2

您比较在你的代码串,你需要使用parseFloat()

<script> 
 
reqests_withdraw = "300"; 
 
money = "1200.34"; 
 
if(parseFloat(reqests_withdraw) > parseFloat(money)) 
 
{ 
 
    alert("not enough money for withdraw"); 
 
} 
 
else 
 
{ 
 
\t alert("OK"); 
 
} 
 
</script>

+1

如果他要从textarea的html中收集输入,这很好,但如果不是,Weedoze的答案会更好。当你可以从一个数字开始时,不需要将一个字符串解析成数字。 –

+1

这将是可能的情况下,我想,为什么有人将数字初始化为引号字符串 – Dij

+0

ya这样做的唯一原因是作为占位符来确保javascript在将其与html集成之前全部有效。我投其初学者的错误,虽然 –

0

育有串存在,并且比较第一个字母。如果相等,则比较第二个字母。

"330.23">"340" 
false 
"330.23">"240" 
true 
"330.23">"2040" 
true 

使用它们if财务报表的折算值,使用parseFloat

1

上面已经回答了浮动,但作为一个选项,另一种方式将一个字符串分成若干

reqests_withdraw = "300"; 
    money = "1200.34"; 
    if(+reqests_withdraw > +money) 
    { 
     alert("not enough money for withdraw"); 
    } 
    else 
    { 
     alert("OK"); 
    } 
+0

Upvote因为我不知道 –

相关问题