0
我这一小段代码:小于或大于显示错误的结果
if(parseFloat(400).toFixed(2) < parseFloat(21233).toFixed(2)){
//Cant Do It
} else {
//Can Do It
}
它是如何有意义? 400 IS小于21233,但关于这个代码,它不是这样的。为什么?
我这一小段代码:小于或大于显示错误的结果
if(parseFloat(400).toFixed(2) < parseFloat(21233).toFixed(2)){
//Cant Do It
} else {
//Can Do It
}
它是如何有意义? 400 IS小于21233,但关于这个代码,它不是这样的。为什么?
toFixed()
输出串所以你比较:
"400.00" < "21233.00"
这是因为false
"4"
不小于"2"
。
是否有其他解决方案更改为固定?所以它不会发出字符串。 – Jordn
@Jordn根本就不要'toFixed',因为* + a.toFixed(2)> + b.toFixed(2)*总是与* a> b * –
@Jordn相同您的输入是整数,因此您可以比较它们直。如果你的输入是字符串,你可以'Math.round(parseFloat(“400”)* 100)'获得一个2位小数的精度。 – Halcyon