Android:将String转换为int

我只是试图将从条形码扫描器生成的string转换为int,以便通过获取余数来生成一组整数。 到目前为止我已经尝试过:

int myNum = 0; try { myNum = Integer.parseInt(myString.getText().toString()); } catch(NumberFormatException nfe) { } 

 Integer.valueOf(mystr); 

 int value = Integer.parseInt(string); 

第一个给我的错误:方法getText()未定义的typesstring,而最后两个没有任何编译错误,但应用程序崩溃时立即调用。 我认为这是与我的条形码扫描意图的方法,但我把它放入OnCreate,仍然有错误。

  • 更改资源string中的单词颜色
  • 从用户获取char数组而不使用String
  • string比较 - Android
  • 硬编码string与Java代码中的@string - Android
  • Android:将string的首字母转换为小写
  • 如何在Android中以编程方式更改string资源的XML值?
  • 删除部分string后的所有内容
  • Android数据绑定的string比较
  • 更改

     try { myNum = Integer.parseInt(myString.getText().toString()); } catch(NumberFormatException nfe) { 

     try { myNum = Integer.parseInt(myString); } catch(NumberFormatException nfe) { 

    这已经是一个string? 除去getText()调用。

     int myNum = 0; try { myNum = Integer.parseInt(myString); } catch(NumberFormatException nfe) { // Handle parse error. } 

    你只需要编写一行代码将你的string转换为int。

      int convertedVal = Integer.parseInt(YOUR STR); 

    使用正则expression式:

     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; 

    使用正则expression式:

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

    输出:i = 1234;

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

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

    输出:i = 123;

    条码通常由大数字组成,所以我认为你的应用程序崩溃是因为你试图转换为int的string的大小。 你可以使用BigInteger

     BigInteger reallyBig = new BigInteger(myString); 

    如果整数值为零或从零开始(在这种情况下,第一个零将被忽略),则不能转换为string。 尝试改变。

     int NUM=null;