我有一个问题,我需要存储在android homed sqlite数据库中的双值.因为这些double值代表gps值(lat&lng),所以我真的NEED
是绝对精度,直到逗号后的第9个数字.
现在我有一个这样的表:
CREATE TABLE x REAL lng;
并插入sth(硬编码),如:
INSERT INTO x lng = '1.0';
当从这个表读取lng到一些(java)双变量时,我得到一个像"0.999956837"的值 - 这使得这些值对我来说毫无用处.
有没有办法强制执行我需要的精度,除了将值存储为"文本"字段(什么会使昂贵的演员需要)或将它们存储为整数(意味着我需要在每次写/读操作时乘以/除)?
SQLite是无类型的,这意味着所有表示都是作为文本编写的,可能包装器api做了一些你不知道的转换,你得到了那些结果.
如果需要将数据存储为字符串,请执行此操作.
就在您读出double时,请确保以正确的格式保存,您可以getDouble
在列上使用.