微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 在SQLite中存储double值:如何确保精度?

我有一个问题,我需要存储在 android homed sqlite数据库中的双值.因为这些双值表示gps值(lat& lng),所以我真的需要绝对精度到逗号后的第9个数字.

现在我有一个这样的表:

CREATE TABLE x REAL lng;

并插入sth(硬编码),如:

INSERT INTO x lng = '1.0';

当从这个表读取lng到一些(java)双变量时,我得到一个像“0.999956837”的值 – 这使得这些值对我来说毫无用处.

有没有办法强制执行我需要的精度,除了将值存储为“文本”字段(什么会使昂贵的演员需要)或将它们存储为整数(意味着我需要在每次写/读操作时乘以/除)?

解决方法

sqlite是 typeless,这意味着所有表示都是作为文本编写的,可能包装器api做了一些你不知道的转换,你得到了那些结果.

如果需要将数据存储为字符串,请执行此操作.

就在您读出double时,请确保以正确的格式保存,您可以在列上使用getDouble.

原文地址:https://www.jb51.cc/android/314004.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐