2009-12-26 64 views
0

如何正確地將數值保存到SQLite3中。我使用Real類型來存儲數值。例如:當我存儲233333.00是好的。但是,當我存儲23333333.00它變成23333300.00。爲什麼它保存爲2.3333333E7並且檢索爲2.33333e + 07。有沒有辦法解決這個問題?保存和檢索Sqlite3中的數值

回答

2

SQLite使用的實際類型存儲爲8字節的IEEE浮點數,並且不能完全保存所有值。如果你想要確切的值,使用任何一個整數字符串。

+0

謝謝。不知道什麼樣的數據字段最適合使用REAL類型? – ychian 2009-12-26 09:02:25

+0

物理世界中沒有*真實*類型。如果您需要存儲金錢,那麼您可以使用整數字段(以美分計)。如果你需要精確的字符串返回任意精度,那麼你可以字符串。如果你能承受一些精確度損失,你可以使用真實的。 – 2009-12-26 09:18:15

0

您正在失去精度,因爲您的程序變量具有單精度,並且需要雙精度。

對於適合尾數的整數值,浮點實際上是完全準確的。

你得到24位fot單打和53雙打。

這不是一個sqlite問題。