我需要比較兩個值。 其中一個值爲price
,它代表某物的當前價格等decimal
,因爲您實際上可以通過此價格購買或出售某物。來比較雙倍和小數,我應該投擲雙倍到十進制或小數雙倍?
的另一值爲estimatedPrice
這是數學計算的結果,所以double
,因爲它只是estimation
,並通過該esitmatedPrice
現在我想買如果price < estimatedPrice
你不能真正做任何「行動」。
所以我應該把價格加倍或估價到小數?
據我所知,鑄造後我會得到「略有另一個」的數字,但似乎我沒有其他選擇。
@BlueChippy如果物品價格昂貴,您不能使用浮動價格數據。例如,float不能表示'123456.78'。 – phoog
十進制佔用更多的內存,具有更小的範圍,因此可以「更精確」(取決於您對「精確」的看法)與浮點(浮點/雙精度)相比更有意義的數字。 如果您願意,您可以非常高興地使用雙數值或小數點或浮點數,特別是如果價格總是要小數點後兩位。 你不能明確地將任何浮點數轉換爲十進制數(因爲它們是完全不同的東西),所以在這種情況下可能最好爲所有類型選擇一個浮點數。將它留給別人來推薦哪一個! (我會去小數,親自) – BlueChippy
@phoog真的,取決於場景。我個人的首要任務是小數(首選)或雙重......但如果可能的話,在整個董事會中使用這種類型。 – BlueChippy