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

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

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 i=Integer.parseInt("hello123".replaceAll("[\\D]",""));
int j=Integer.parseInt("123hello".replaceAll("[\\D]",""));
int k=Integer.parseInt("1h2el3lo".replaceAll("[\\D]",""));

输出:

i=123;
j=123;
k=123;

试试这段代码,它真的工作。

int number = 0;
try {
    number = Integer.parseInt(YourEditTextName.getText().toString());
} catch(NumberFormatException e) {
   System.out.println("parse value is not valid : " + e);
} 

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

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

使用正则表达式是做到这一点的最好方法,正如ashish sahu已经提到的那样

public int getInt(String s){
return Integer.parseInt(s.replaceAll("[\\D]", ""));
}

科特林

可以使用Extension方法将它们解析为其他基本类型。

“10”toInt(。) “10”请(。) “真正的”toBoolean()。 “10 . 0”toFloat()。 “10 . 0”toDouble()。 “10”toByte(。) “10”toShort(。)

Java

String num = "10";
Integer.parseInt(num );