У меня проблема с правильным суммированием чисел из моей базы данных SQLite
.Я создал свою таблицу следующим образом, где я установил столбец «количество» как FLOAT через строку sql4.
У меня есть EditText
«значение», где пользователь вводит значение, затем оно вводится вбаза данных как через ContentValues
cv2.
Все это прекрасно работает, когда я проверяю базу данных извне, записывается десятичное значение.Однако, когда я пытаюсь получить его через mCursor1, вывод отображается как 9.0 вместо 9.18 после того, как я сделал две последовательные записи 2.21 и 6.97 …… .. Однако, когда я вывожу данные в файл xml и делаю добавление в Excel Iдостичь 9,18.Это заставило бы меня поверить, что это должно быть что-то из-за mCursor1, но я только догадываюсь.Есть идеи, где моя проблема?
String sql4 = "create table tracker (_id INTEGER PRIMARY KEY " +
"AUTOINCREMENT, category_name TEXT NOT NULL, date DATE NOT NULL, place NUMERIC NOT NULL," +
"amount FLOAT NOT NULL, day_id INTEGER NOT NULL, week_id INTEGER NOT NULL," +
"month_id INTEGER NOT NULL, year_id INTEGER NOT NULL)";
ContentValues cv2 = new ContentValues();
cv2.put("amount", value.getText().toString());
mDb.insert("tracker", null, cv2);
float total1 = 0;
mCursor1 = mDb.rawQuery(
"SELECT SUM(amount) FROM tracker", null);
if(mCursor1.moveToFirst()) {
total1 = mCursor1.getInt(0);
}
mCursor1.close();
String a = Float.toString((float)total1);
displayTotal.setText("Total €" + a);