如何将字符串转换为整数?

我有一个文本框,让用户输入一个数字:

EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();

这个值被赋值给字符串hello。

我想把它转换成一个整数,这样我就能得到他们输入的数字;稍后将在代码中使用它。

是否有方法将EditText转换为整数?这样就跳过了中间人。如果不是,字符串到整数就可以了。


当前回答

我只是改变了这个

int j = Integer.parseInt(user.replaceAll("[\\D]", ""));

into

int j = 1;

它解决了我的问题

其他回答

你也可以只写一行:

int hello = Integer.parseInt(((Button)findViewById(R.id.button1)).getText().toString().replaceAll("[\\D]", ""));

从执行顺序读取

使用findViewById(R.id.button1)获取视图 使用((Button)______)将视图转换为按钮 调用.GetText()从Button获取文本条目 调用.toString()将字符变量转换为字符串 调用.ReplaceAll() with "[\\D]"将所有非数字字符替换为""(无) 调用integer . parseint()抓取并从数字字符串中返回一个整数。

使用正则表达式:

String s="your1string2contain3with4number";
int i=Integer.parseInt(s.replaceAll("[\\D]", ""));

输出: 我= 1234;

如果你需要第一个数字组合,那么你应该尝试下面的代码:

String s="abc123xyz456";
int i=NumberFormat.getInstance().parse(s).intValue();

输出: 我= 123;

更简单的方法是使用Integer的decode方法,例如:

int helloInt = Integer.decode(hello);

我只是改变了这个

int j = Integer.parseInt(user.replaceAll("[\\D]", ""));

into

int j = 1;

它解决了我的问题

将字符串转换为int的最佳方法是:

 EditText et = (EditText) findViewById(R.id.entry1);
 String hello = et.getText().toString();
 int converted=Integer.parseInt(hello);