0

我有一个包含小数的数据库。该列设置为“.. 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 不是很熟悉,所以请帮忙。

4

2 回答 2

2

SQLite 不知道数据类型DECIMAL,因此它可能默认返回INTEGER它知道的数据类型。尝试使用 SQLite 识别的另一种数据类型。SQLite 知道的数据类型可以在以下页面上找到: http ://www.sqlite.org/datatype3.html

于 2009-07-28T08:27:18.847 回答
2

在 Xperimental 的回答之上,您正在调用getInt()Cursor并且您正在返回并从getTotal(). 这里,int是整数的简写,也就是你所说的“整数”。如果您需要浮点值,请使用getFloat()并返回 a floator Float

于 2009-07-28T10:32:07.160 回答