开发者社区> 问答> 正文

SQlite 数据库不能存储double 值为字符串

我使用下面的代码
public boolean addArea(AreaClass area , ArrayList areaArray)

 {      
     area.id =  getNextAreaId();
    Log.d("longitude", area.longitude);
    Log.d("latitude", area.latitude);

    ContentValues initialValues = new ContentValues();
    initialValues.put("_id", area.id);
    initialValues.put("name", area.name);
    initialValues.put("longitude", area.longitude);
    initialValues.put("latitude", area.latitude);
    initialValues.put("zoomLevel", area.zoomLevel);
    initialValues.put("creationDate",area.creationDate);

    try
    {
        mDb.insertOrThrow("TTArea", null, initialValues);

}
area.longitude 是一个字符串,它的值通过 String.value (A Double Value) 获得,现在通常是像 22.323434523464563456
但是当我检索这个值时:
public AreaClass getAreaClassWithAreaId(Integer id)
{

String queryString = "SELECT * FROM TTArea WHERE _id = ?";
Cursor resultSet =  mDb.rawQuery(queryString, new String[]{id.toString()}); 
AreaClass area = new AreaClass();
while(resultSet.moveToNext())
{
     area = new AreaClass(
                    resultSet.getInt(resultSet.getColumnIndex("_id")),
                    resultSet.getString(resultSet.getColumnIndex("name")),
                    resultSet.getString(resultSet.getColumnIndex("longitude")),
                    resultSet.getString(resultSet.getColumnIndex("latitude")),
                    resultSet.getString(resultSet.getColumnIndex("zoomLevel")),
                    resultSet.getString(resultSet.getColumnIndex("creationDate"))
                    );
}
resultSet.close();
return area;

}
大约是 22.3234。 在我的程序中我需要存储精确的数值。如何处理这个问题?

展开
收起
a123456678 2016-07-18 14:20:18 3596 0
1 条回答
写回答
取消 提交回答
  • 以String类型保存到数据库里。
    String longitude = String.valueOf(area.longitude);
    String latitude = String.valueOf(area.latitude);
    initialValues.put("longitude", longitude);
    initialValues.put("latitude", latitude);

    取值的时候用Double.parseDouble(longitude/latitude);

    2019-07-17 19:57:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库工作室推广计划 立即下载
国产数据库研制人才培养实践 立即下载
微信SQLite数据库损坏恢复实践 立即下载