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

问题描述 投票:0回答:3

我一直在尝试将以下字符串转换为我的共享首选项键的双倍值,但仍然失败,即使我已尝试按照之前的问答(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变量时失败并抛出错误。有人可以帮忙吗?非常感谢你。

-海-

android string double sharedpreferences
3个回答
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");
        }
    }

0
投票

试试这个 :)

Double dCurr_Lat = Double.valueOf(strCurr_Lat);

0
投票

如果你的值不是null,那么试试这个就行了。

double dCurr_Lat= Double.parseDouble(strCurr_Lat);
© www.soinside.com 2019 - 2024. All rights reserved.