如:
float temp=0.34
ContentValues value = new ContentValues();
value.put("amount", temp)
long newid=this.mSQLiteDatabase.insert("account", null, value);
此操作后,数据库会形成一条记录 ,其中 amount=0.340000003576279,显然这是用户不能容忍的。
解决办法是:
1. 将从数据库读出来的 float temp 形成字符串时,进行格式化。
2.不采用android 提供的 insert 函数。采用 execSQL("") 执行 SQL 语句 INSERT INTO 操作,这种方式形成的 REAL数据将是 amount=0.34.
解决Android数据库REAL精度问题
本文介绍了在Android应用中使用数据库存储浮点数时遇到的精度问题,并提出了两种解决方案:一是对读取的数据进行格式化处理;二是放弃使用ContentValues和insert方法,改用execSQL直接执行SQL语句。
1735

被折叠的 条评论
为什么被折叠?



