我需要从sqlite db
读取浮点小数我在数据库中创建了变量类型为INTEGER
我正在使用sqlite3_column_int读取NSInteger变量
哪些部分应该更改,以便我可以从数据库中读取浮点整数
感谢您的回答对不起,我是这个主题的新手
答案 0 :(得分:13)
没有浮点整数这样的东西。它们在基本层面上是互斥的(好的浮点数可以落在整数边界上,但你明白了):P。
但是获得浮动的方法是使用sqlite3_column_double(sqlite3_stmt *, int)
函数。
NSNumber *f = [NSNumber numberWithFloat:(float)sqlite3_column_double(stmt, col)];
答案 1 :(得分:5)
将字段声明为浮点数。从sqllite datatype doc开始,数据库类型为REAL。这是一个8字节的浮点数,它是Objective-C double,NSDouble或NSNumber类型。
答案 2 :(得分:2)
NSNumber *num;
int temp = (float)sqlite3_column_double(walkstatement, 3);
num = [[NSNumber alloc]initWithInt:temp];
NSLog(@"%@",num);
此代码对我有用..
答案 3 :(得分:-1)
有关其他信息,sqlite3使用动态数据类型系统。所以过去这些:
只是sqlite的提示(技术上,亲和力),它最终决定它自己的类型或不是。
http://www.sqlite.org/datatype3.html
返回double,int等的函数是sqlite C API的一部分,尽量为你提供你想要的东西......所以如果你要问的话,存储在列中的内容可能会由sqlite转换for与db中的内容不同。
http://www.sqlite.org/c3ref/column_blob.html
大约中途,有一个方便的桌子,可以让你知道会发生什么。