我把一個漂浮在一個基於Android的SQLite數據庫,就像這樣:SQLite查詢哪裏有浮點數的子句失敗?
private static final String DATABASE_CREATE =
"create table " + DATABASE_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ KEY_FLOAT + " REAL, " + ...
...
content.put(KEY_FLOAT, 37.3f);
db.insert(DATABASE_TABLE, null, content);
當我查詢表:
Cursor cursor = db.query(false, DATABASE_TABLE,
new String[] { KEY_ID, KEY_FLOAT, ... },
KEY_LATITUDE + "=37.3",
null, null, null, null, null);
光標回來空。如果我將float的值更改爲37.0,它將正常工作,並返回光標中的記錄。
我在一些長度測試此,從「REAL」爲「浮動」,等等改變數據庫列規範AS只要我有小數點之後的任何小數部分時,光標返回空。到底是怎麼回事?
提前致謝!
建議閱讀:http://floating-point-gui.de/ – 2010-07-17 07:14:18