将共享首选项中的字符串转换为双值

时间:2017-12-27 04:59:14

标签: android string double sharedpreferences

我一直试图将以下字符串转换为我的共享偏好设置键的双倍值,但即使我尝试按照之前的问答(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 -

3 个答案:

答案 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);