Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sqlite3中保存浮点数?_Sql_Database_Sqlite_Precision - Fatal编程技术网

如何在sqlite3中保存浮点数?

如何在sqlite3中保存浮点数?,sql,database,sqlite,precision,Sql,Database,Sqlite,Precision,在保存到sqlite3之前,浮点数为37.80616719341899。然后我在数据库37.806167193419中检查了它。下面是我的sql语句: create table if not exists RID3388 (latitude DOUBLE NOT NULL); 这就是一个例子。我还尝试了数据类型DECIMAL(38,20),但没有任何帮助。 我想把整个数字保存在数据库中。 有人能帮我吗?所有浮点数都存储为IEEE双精度数。很明显,近似数据类型,如float或double可能会将

在保存到sqlite3之前,浮点数为37.80616719341899。然后我在数据库37.806167193419中检查了它。下面是我的sql语句:

create table if not exists RID3388 (latitude DOUBLE NOT NULL);
这就是一个例子。我还尝试了数据类型DECIMAL(38,20),但没有任何帮助。 我想把整个数字保存在数据库中。
有人能帮我吗?

所有浮点数都存储为IEEE双精度数。很明显,近似数据类型,如
float
double
可能会将近似值保存为实际值。(这就是这些类型几乎从未在数据库中使用过的原因。)但是您对
decimal
有什么问题吗?根据文档,数据类型decimal(a,b)意味着它可以保存b个小数位,但它不适用于我的程序。是吗……什么文件?SQLite文档中没有这样的内容;十进制(a,b)只是一个普通的浮点数。
DECIMAL
通常在其他数据库上实现,但在SQLite中不实现(尽管它将其解析为浮点数以实现兼容性)。请使用SQLite官方文档。