在android中减少字符串数值

在android中减少字符串数值,android,string,int,sharedpreferences,Android,String,Int,Sharedpreferences,我正在制作一个android应用程序,其中我从SharedReferences加载了一组字符串,以便保存字符串。字符串仅包含数字,但它不是int值,而是字符串值。我想知道如何减去里面的数字,因为通常我会用int值=value-value之类的东西;但这似乎不起作用,因为它是一个字符串而不是int值。即使是一根绳子,我怎么能这样做?我知道我可以用int值来代替,但因为我以前没有想到这一点,当我几乎完成时,改变所有与此相关的代码将是一项艰巨的工作。请帮助我,并提前表示感谢 您必须首先将字符串转换为整

我正在制作一个android应用程序,其中我从SharedReferences加载了一组字符串,以便保存字符串。字符串仅包含数字,但它不是int值,而是字符串值。我想知道如何减去里面的数字,因为通常我会用int值=value-value之类的东西;但这似乎不起作用,因为它是一个字符串而不是int值。即使是一根绳子,我怎么能这样做?我知道我可以用int值来代替,但因为我以前没有想到这一点,当我几乎完成时,改变所有与此相关的代码将是一项艰巨的工作。请帮助我,并提前表示感谢

您必须首先将字符串转换为整数,然后对其进行操作,然后将字符串保存回:

String value = preferences.getString("key:");
int intValue = Integer.valueOf(value);

intValue = intValue - 1;

preferences.edit().putString("key", Integer.toString(intValue)).commit();

尝试使用
Integer.valueOf(string)
Integer.parseInt(string)
学习基本编程casting的概念将对您大有帮助。可以使用基类将一种数据类型转换为另一种数据类型,基类通常处理字符串。例如,看看Integer的文档。

正如您所说,更改代码并将其保存为int需要大量工作,我建议将字符串转换为整数,参考此链接了解更多信息,有人询问过如何将字符串转换为整数,并且由于Android基于Java,这适用于您的项目:


希望这有帮助。

在最后一行,我想你是想把
Integer.toString(intValue)
不是
value
。谢谢,我现在就试试,在最后一行,你不是想把edit().putInt改成edit().put???@user1446632:当然,
putInt
,它总是让我困惑,为什么有些函数只是
put
和重载,而另一些函数是命名的。。Android框架中的不一致性。我知道,我实际上是指putString,但是,我尝试了代码,并将其输入到我的代码中,它工作得非常棒!非常感谢!