错误:NumberFormatException无法解析'20'

时间:2013-05-14 08:34:36

标签: java android

public void onPass(View v)
    {

        String sn1=et1.getText().toString();
        String sn2=et2.getText().toString();

        int i1=Integer.parseInt(sn1);
        int i2=Integer.parseInt(sn2);
        Intent i=new Intent(this,Act2.class);
        i.putExtra("k1",i1 );
        i.putExtra("k2", i2);       
        startActivity(i);       

    }

logcat

E/AndroidRuntime(671): Caused by: java.lang.NumberFormatException: unable to parse '20 ' as integer

4 个答案:

答案 0 :(得分:5)

String的末尾有一个空格。那就是问题所在。你需要修剪它。

答案 1 :(得分:4)

输入结尾处有一个空白区域。试试:

String sn1=et1.getText().toString().trim();
String sn2=et2.getText().toString().trim();

答案 2 :(得分:1)

'20 ' // <<---- you have a whitespace at the end

在解析之前,你需要trim

答案 3 :(得分:0)

你只需修剪字符串,因为你可以在最后有一个空格:

int i1=Integer.parseInt(sn1.trim());
int i2=Integer.parseInt(sn2.trim());

或:

你可以像zouzou一样改变说:

String sn1=et1.getText().toString().trim();
String sn2=et2.getText().toString().trim();