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