我一直在尝试将以下字符串转换为我的共享首选项键的双倍值,但仍然失败,即使我已尝试按照之前的问答(Android - SharedPreference converting to Double)的解决方案
这是我的代码:
String strCurr_Lat = FM_SharePrefs.getString("FM_Curr_Lat", "");
String strCurr_Lng = FM_SharePrefs.getString("FM_Curr_Lng", "");
String strDest_Lat = FM_SharePrefs.getString("FM_Dest_Lat", "");
String strDest_Lng = FM_SharePrefs.getString("FM_Dest_Lng", "");
Double dCurr_Lat = Double.parseDouble(strCurr_Lat);
到达assign double变量时失败并抛出错误。有人可以帮忙吗?非常感谢你。
-海-
要解析double
,你的字符串需要浮点数格式化。所以首先你必须检查它是否是,否则它会抛出NumberFormatException
。
String strCurr_Lat = FM_SharePrefs.getString("FM_Curr_Lat", "");
if(!TextUtils.isEmpty(strCurr_Lat)){
try {
Double curr_Lat = Double.parseDouble(strCurr_Lat);
}catch (NumberFormatException e){
e.printStackTrace();
Log.e("Parse","String not in floating format");
}
}
试试这个 :)
Double dCurr_Lat = Double.valueOf(strCurr_Lat);
如果你的值不是null,那么试试这个就行了。
double dCurr_Lat= Double.parseDouble(strCurr_Lat);