我有一个包含小数的数据库。该列被设置为“.. decimal(5,2)not null。我要做的是找到列的总和并使用此代码在文本字段中显示它。
public int getTotal() {
Cursor cursor = sqliteDatabase2.rawQuery(
"SELECT SUM(thedata) FROM thetable", null);
if(cursor.moveToFirst()) {
return cursor.getInt(0);
}
return cursor.getInt(0);
}
但是,返回时,该值为整数。它应该是20.75而不是20。
我对SQLite不是很熟悉,所以请帮助。
答案 0 :(得分:2)
SQLite不知道数据类型DECIMAL
,因此它可能会默认返回它知道的INTEGER
数据类型。尝试使用另一种SQLite可识别的数据类型。 SQLite知道的数据类型可以在以下页面找到:
http://www.sqlite.org/datatype3.html
答案 1 :(得分:2)
除了Xperimental的回答之外,您正在getInt()
上调用Cursor
,并且您将从getTotal()
返回并输入int。这里,int
是整数的简写,你称之为“整数”。如果您需要浮点值,请使用getFloat()
并返回float
或Float
。