我一直试图将以下字符串转换为我的共享偏好设置键的双倍值,但即使我尝试按照之前的问答(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变量时失败并抛出错误。 有人可以帮忙吗?非常感谢你。
-sea -
答案 0 :(得分:0)
要解析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");
}
}
答案 1 :(得分:0)
试试这个:)
Double dCurr_Lat = Double.valueOf(strCurr_Lat);
答案 2 :(得分:0)
如果你的值不为null,那么试试这个就行了。
double dCurr_Lat= Double.parseDouble(strCurr_Lat);