2016-05-30 165 views
-5

一個Number變量我有這樣的代碼:四捨五入在javascript

function sellByte() { 
if (player.bytes >= 1) { 
    player.bytes = player.bytes - 1; 
    player.money = player.money + 0.10; 
    document.getElementById("bytes").innerHTML = "Bytes: " + player.bytes; 
    document.getElementById("money").innerHTML = "$" + player.money; 
    } 
} 

每當我賣一個字節我的錢價值最終看起來像$ 10.00000003或沿着這些線路的東西,我將如何去四捨五入的貨幣價值每次運行此功能時都會啓動?

+0

parseFloat和toFixed是要*修復*從浮點運算,你得到的舍入誤差, – Jacobian

+0

難道還是你只是你最好的朋友想*顯示*他們爲圓形數字? – Jeroen

+3

但實際上你的問題已經在這裏的答案在stackoverflow,你應該已經綁定找到他們 – Jacobian

回答

1

在JS中使用浮點數很是tricky。我的建議是隻使用較小的單位(美分而不是美元)進行操作,然後您將只處理整數並且不會有類似的問題。

-1

使用Math.round(player.money* 100)/100進行2次十進制舍入。

+0

爲什麼-1?現在有人添加了類似答案的重複。 –