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

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

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

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

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

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


当前回答

你应该将String转换为float。它正在起作用。

float result = 0;
 if (TextUtils.isEmpty(et.getText().toString()) {
  return;
}

result = Float.parseFloat(et.getText().toString());

tv.setText(result); 

其他回答

有五种转换方法 第一种方法:

String str = " 123" ;
int i = Integer.parse(str); 
output : 123

第二种方式:

String str = "hello123world";
int i = Integer.parse(str.replaceAll("[\\D]" , "" ) );
output : 123

第三种方式:

String str"123";
int i = new Integer(str);
output "123 

第四种方式:

String str"123";
int i = Integer.valueOf(Str);
output "123 

第五种方式:

String str"123";
int i = Integer.decode(str);
output "123 

可能还有其他办法 但我现在只记得这些

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

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

请参阅Integer类和静态parseInt()方法:

http://developer.android.com/reference/java/lang/Integer.html

Integer.parseInt(et.getText().toString());

你将需要捕捉NumberFormatException,尽管在解析时遇到问题,所以:

int myNum = 0;

try {
    myNum = Integer.parseInt(et.getText().toString());
} catch(NumberFormatException nfe) {
   System.out.println("Could not parse " + nfe);
} 
int in = Integer.valueOf(et.getText().toString());
//or
int in2 = new Integer(et.getText().toString());

我只是改变了这个

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

into

int j = 1;

它解决了我的问题