2012-12-13 25 views
1

我記得閱讀有關某些數學運算和double類型的問題,但我忘記它們何時會發生,或者我需要如何處理它們。何時會遇到類似Double的類型Double的問題,比特幣有8位小數位?

「比特幣」是一個有8位小數的浮點數。我假設我用他們輸入double,而不是任何其他類型(小數等)。它是否正確?

在編寫,調試和測試使用8位小數點的應用程序時應該考慮哪些其他問題?

+4

如果你想要8個精確的小數位,我建議不要使用浮點數。 –

+0

啊......需要一個Double。 – LamonteCristo

+0

嗯,我也是那個...也應該是小數。謝天謝地,我來檢查! – LamonteCristo

回答

6

如果您正在用錢做任何事情,您應該使用decimal。根據數字的大小,您將在8個小數位之前獲得準確性問題。

由於有一個固定的空間量(有效數字的數量)float可以表示的數字在-1到+1的範圍內比它在9,000到10,000範圍內的數字更精確(比如說)。

Float only has 7 digits of precision這意味着它不能表示小數點後8位的數字。

Double has 15-16 digits of precision所以更準確,但仍不夠準確的貨幣計算 - 特別是對於大數值。

如果他們稱之爲float那麼這是誤導。它們可能是指「浮點型」,其中float只是其中之一。

3

如果您擔心小數位數和準確性,特別是在處理貨幣時,您應該使用decimal而不是floatdouble