比较花车。根据第一块代码,5大于37.66。第二个块声称5小于37.66。什么是toFixed()做这些使第一个块以它的方式做出反应? (这只在ubuntu中的chrome上测试过)
amount = 5
total = 37.66
check = null
if(parseFloat(amount).toFixed(2) >= parseFloat(total).toFixed(2)){
check = "amount IS GREATER"
}
检查>> “金额更大”
amount = 5
total = 37.66
check = null
if(parseFloat(amount.toFixed(2)) >= parseFloat(total.toFixed(2))){
check = "amount IS GREATER"
}
检查>>空
答案 0 :(得分:6)
number.toFixed()
返回一个字符串,因此您的比较不是数字比较。
这应该有效:
amount = 5;
total = 37.66;
check = null;
if(parseFloat(amount.toFixed(2)) >= parseFloat(total.toFixed(2))){
check = "amount IS GREATER";
}
然而,这是一种有点奇怪的方式来完成你想要完成的事情。怎么样呢:
amount = 5;
total = 37.66;
check = null;
if( Math.round(amount * 100) > Math.round(total * 100)) {
check = "amount IS GREATER";
}
编辑:添加分号
答案 1 :(得分:0)
第一个不正确,因为.toFixed将返回一个字符串,并且字符串大于另一个字符串在此上下文中没有意义