sqlite3缩短浮点值
我做了一个简单的例子: 纬度:String=String.fromCString(UnsafePointer(sqlite3\u column\u text(语句,11)) 数据库中的值为“real”。 在我的数据库里 51.234183426424316(使用Firefox的SQLite管理器进行验证) 有了以上内容,我只得到了以下信息: 51.2341834264243 (最后两位数字缺失,使用坐标不可接受)sqlite3缩短浮点值,sqlite,swift,Sqlite,Swift,我做了一个简单的例子: 纬度:String=String.fromCString(UnsafePointer(sqlite3\u column\u text(语句,11)) 数据库中的值为“real”。 在我的数据库里 51.234183426424316(使用Firefox的SQLite管理器进行验证) 有了以上内容,我只得到了以下信息: 51.2341834264243 (最后两位数字缺失,使用坐标不可接受) 有什么解释吗?解决方案?SQLite存储诸如64位IEEE浮点数之类的数字,其有效
有什么解释吗?解决方案?SQLite存储诸如64位IEEE浮点数之类的数字,其有效位精度为53位,对应于大约15-17位十进制数字 如何设置这样一个数字的显示格式是另一个问题。 如果您想控制它,请使用获取原始值,然后自己将其转换为字符串
(您正在抱怨差异小于可见光的波长…如果您希望它是
字符串
,为什么它会存储为实数
?是否应将其存储为文本
?或者您可以使用sqlite3\u column\u double
函数吗?它由导入的数据库提供,不在我的控制之下。我要试试双栏