0

私はまだこれに関して少し初心者です。私は何が起こっているのか当惑しています。3.542 を sqlite データベースに保存しました。Firefox sqlite ビューアーでデータベースをチェックすると、これが確認されました。次に、次のコードで値を取得しました。

public double getCaffPer(String type) {
    SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    builder.setTables(DRKTYPES);
    String[] columns = { MGCAFF };
    String[] selectionArgs = { type };
    Cursor cursor;
    cursor = builder.query(ourDatabase, columns, TYPE + "=?",
            selectionArgs, null, null, null);
    float result = -1;
    if (cursor.getCount() != 0) {
        cursor.moveToFirst();
        result = cursor.getFloat(0);
    }
    cursor.close();
    return result;
}

デバッグにより、結果の値が 3.542 であることが明らかになりました。しかし、コードの後半で、このメソッドを呼び出します。

double caff = helper.getCaffPer(typeName);

そして、それは私に3.5420000553131104を与えます。これは大した違いではないことはわかっていますが、なぜ最後のものが追加されているのか不思議です。どんな助けでも大歓迎です。

4

1 に答える 1