float 値 widt SQLiteDatabase.insert を保存すると、保存された値は元の値とは異なります。以下を参照してください。
データベースの幅があります:
db.execSQL("CREATE TABLE IF NOT EXISTS info_values ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "date DATE UNIQUE NOT NULL, "
+ "value REAL NOT NULL)");
たとえば 33.3 幅を挿入すると、次のようになります。
private class inputdlg_ok implements input_dlg.ReadyListener {
public void ready(float newvalue) {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ContentValues values = new ContentValues();
values.put("date", sdf.format(d));
values.put("value", newvalue);
database.insert("info_values", null, values);
私はこれらを持っています:
sqlite> select * from info_values;
83|2012-04-04 09:06:22|33.2999992370605
84|2012-04-02 09:05:57|22.2000007629395
width execをテストしました:
String sql = "INSERT INTO info_values (date, value) " +
"VALUES ('" + sdf.format(d) + "'," + Float.toString(newvalue) + ")";
database.execSQL(sql);
そしてそのフォームはうまく機能します。
何か案が?