Android - SharedPreference converting to Double

后端 未结 3 934
粉色の甜心
粉色の甜心 2021-01-07 10:15

Basically i have a valued saved into shared preference as a string.

I am retrieving the value saved, and am trying to use it in a calculation.

How can i conv

相关标签:
3条回答
  • 2021-01-07 10:49

    How can i convert this so that it is seen as a double instead of a string?

    A) If you don't need the double precision, use floats: getFloat and putFloat.

    B) Parse the string as a double then save the double as a string again.

    0 讨论(0)
  • 2021-01-07 10:53

    It can be saved as long like how I wrote it down:

    Double to Long:

    Double.doubleToRawLongBits(double);
    

    Long to Double:

    Double.longBitsToDouble(defaultLongValue);
    

    EDIT:

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    Long newweightTemp =  sharedPreferences.getLong("storednewweight", 0L);
    Double newWeight = Double.longBitsToDouble(newweightTemp );
    newweight = newweight + 5;
    //saves value into sharedpreference
    sharedPreferences.edit().putLong("storednewweight", Double.doubleToRawLongBits(newWeight)).apply();
    

    Something like that should do it.

    0 讨论(0)
  • 2021-01-07 10:55

    You can parse the string as a double:

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    
    String weight =  sharedPreferences.getString("storednewweight", "");
    Double newweight = Double.parseDouble(weight);
    newweight = newweight + 5;
    
    //saves value into sharedpreference
    savePreferences("storednewweight", (Double.toString(newweight)));
    
    0 讨论(0)
提交回复
热议问题