【发布时间】:2010-06-21 10:20:16
【问题描述】:
我有一个双值问题,我需要将其存储在一个 android homed sqlite 数据库中。由于这些双精度值代表 gps 值(纬度和 lng),我真的 NEED 绝对精度到逗号后的第 9 个数字。
现在我有一张这样的桌子:
CREATE TABLE x REAL lng;
并插入某物(硬编码),例如:
INSERT INTO x lng = '1.0';
当从这个表中读取 lng 到一些(java)双变量时,我得到一个像“0.999956837”这样的值——这使得这些值对我来说毫无用处。
除了将值存储为“文本”字段(这将使昂贵的强制转换成为必要)或将它们存储为整数(这意味着我需要在每次写入/读取时乘/除-操作)?
【问题讨论】:
-
只是好奇,如果您使用
INSERT INTO x lng = 1.0而不是INSERT INTO x lng = '1.0'(即不带引号),它会表现出相同的行为吗?
标签: android database sqlite double precision