我開始有小數的問題,這讓我瞭解了整個浮點數學。我的問題是,它有什麼可行的解決方案?解決Javascript的浮點算術問題
x = 0.1;
y = 0.2;
num = x + y;
num = Math.round(num * 100)/100;
或
x = 0.1;
y = 0.2;
num = x + y;
num = num.toFixed(2);
num = Number(num);
難道這些均爲100%可行的選擇?如同以後,再也不用擔心會有同樣的問題了嗎?你會推薦哪一個?或者你會推薦一個不同的解決方案?有什麼理由相互使用一種解決方案?預先感謝您的幫助。編輯: 對不起,我不是更具體。我很好,總是2位小數,因爲這對我的項目不會有問題。顯然,如果你想要更多的小數,你會使用1000而不是100和toFixed(3)等等。我主要關心的是,上述兩種解決方案100%是否可行,因爲我不需要擔心任何相同的問題?而且,你會推薦第一個解決方案還是第二個解決方案?還是另一個呢?因爲我會在很多計算中使用相當多的方法。再次感謝你的幫助。
取決於你想解決什麼問題 – Chad
什麼是你最初的問題? – federicot
可能的重複:[JavaScript的浮點數學破碎?](http://stackoverflow.com/questions/588004/is-javascripts-floating-point-math-broken) –