我在SQLite数据库中保存纬度和经度有问题.我可以保存一些位置,如(123.123999,123.123999),它将保存在数据库中.
但如果我想阅读它,我会得到像(123.124,123.124)那样的圆形位置.
我的表由这个sql段创建:
CREATE TABLE locs(id INTEGER PRIMARY KEY AUTOINCREMENT, lat DOUBLE, lng DOUBLE, num INTEGER)
并查询结果:
SELECT * FROM locs WHERE lat = 123.124; //RETURN NO ROWS
SELECT * FROM locs WHERE lat = 123.123999; //RETURN 1 ROW
所以我不能用我得到的数字来查询数据.
我相信我不是第一个处理这个问题的人,因为这是基本的事情.但我没有找到任何适用于SQLite数据库的答案.
如何在db中读取和写入正确的数字?
最佳答案
How can I read and write the correct number in the db?
我建议你快速解决一个问题.
因为您知道以什么格式存储坐标e.q.因此将它们存储为TEXT然后将它们作为TEXT检索并简单地执行解析回到DOUBLE是没有问题的,如果你想要用它们做一些事情.
CREATE TABLE locs(
id INTEGER PRIMARY KEY AUTOINCREMENT,
lat TEXT,
lng TEXT,
num INTEGER
)