2010-01-29 88 views

回答

12

有趣的問題。

我實際上不會在mysql環境中選擇float。以前的數據類型精度太高,問題太多。

對我而言,選擇範圍是intdecimal(18,4)

我已經看過現實世界中用於表示浮點值的整數示例。 JD Edwards數據表的內部都是這樣做的。數量通常被10000除。雖然我確信它在表格中的速度更快,更小,但這意味着如果我們想要對它們進行任何操作,特別是除法,我們總是必須將整數轉換爲小數。

從編程角度來看,我總是傾向於使用價格decimal(或支持它的RDBMS中的money)。

+1

我已經決定保持簡單,只需要用十進制 – 2010-01-29 12:39:50

0

儘管它可以節省與浮動相關的問題,但將價格保存爲整數可能會導致問題,您最終會向客戶收取100倍的價格。它也可能會混淆其他程序員。

我已經看到這兩個解決方案在中型電子商務網站上成功使用,但是我的選擇是使用浮動。

1

我認爲Decimal適合此用途。

2

如果您乘數過大,浮點錯誤可能會導致您的問題。一般來說,財務計算不應該在可能的情況下用浮點數來完成。

相關問題