我把一个漂浮在一个基于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