2015-12-21 42 views
2

對於金錢操作使用JavaScript數字類型(64位雙精度)是否安全?我們計劃爲小型企業開發軟件,金額通常低於100.000美元,但我認爲數字可能會更大,因爲我們使用當地貨幣,例如1美元= 6.5元人民幣。金錢操作的JavaScript數字類型有多安全?

我知道可能會失去精度,但它在現實世界中有多糟?

我也建議我們可以跳過像

0.2 + 0.1 = 0.30000000000000004 

問題,因爲使用本地貨幣設置截斷數後,這將是相同的如$0.30

有人還建議乘以他們的刻度值減去100,但我不確定這是否適用於任何情況,因爲我建議在點之後可能會有超過2位數的貨幣。

+4

http://stackoverflow.com/questions/6589293/currency-operations-with-javascript – RomanPerekhrest

+0

你能請註明首先回答的答案的答案嗎? –

回答

1

我認爲最好的方法是使用特殊的圖書館

bignumber.js

例如:

0.3 - 0.1       // 0.19999999999999998 
x = new BigNumber(0.3) 
x.minus(0.1)      // "0.2" 
x         // "0.3"