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.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...