Android: convertir String a int
Estoy simplemente tratando de convertir una cadena que se genera desde un escáner de código de barras a un int para que pueda manipularlo tomando el resto para generar un número de números enteros. Hasta ahora he intentado:
int myNum = 0; try { myNum = Integer.parseInt(myString.getText().toString()); } catch(NumberFormatException nfe) { }
y
- Cómo obtener Resource (int) de String - Android
- Java cómo incrementar un int 1 cada segundo hasta que llegue a 15
- Realizar un cálculo en Java da una respuesta completamente errónea
- ¿Cómo convertir EditText en int? (Androide)
- ¿Cómo puedo actualizar correctamente AppWidget?
Integer.valueOf(mystr);
y
int value = Integer.parseInt(string);
El primero me da el error: El método getText () no está definido para el tipo String mientras que los dos últimos no tienen errores de compilación, pero la aplicación se bloquea inmediatamente cuando se llaman. Pensé que tenía que ver con mi código de barras de exploración método intención, pero lo puse en el OnCreate y aún así el error.
- Obtener números de EditText
- SetTextcolor utilizando getCurrentTextColor ()
- Convertir el número en textview en int
- Cambiar la opacidad del color int en java / android
- Compruebe si una cadena es un número
- Cómo convertir int a typedarray Android
- Android int to hex converter
- R.string.value Ayuda a notificar android
Cambio
try { myNum = Integer.parseInt(myString.getText().toString()); } catch(NumberFormatException nfe) {
a
try { myNum = Integer.parseInt(myString); } catch(NumberFormatException nfe) {
Ya es una cadena? Quite la llamada getText ().
int myNum = 0; try { myNum = Integer.parseInt(myString); } catch(NumberFormatException nfe) { // Handle parse error. }
Utilice la expresión regular:
int i=Integer.parseInt("hello123".replaceAll("[\\D]","")); int j=Integer.parseInt("123hello".replaceAll("[\\D]","")); int k=Integer.parseInt("1h2el3lo".replaceAll("[\\D]",""));
salida:
i=123; j=123; k=123;
Sólo tienes que escribir la línea de código para convertir tu cadena en int.
int convertedVal = Integer.parseInt(YOUR STR);
Utilice la expresión regular:
String s="your1string2contain3with4number"; int i=Integer.parseInt(s.replaceAll("[\\D]", ""))
Salida: i = 1234;
Si usted necesita la combinación del primer número entonces usted debe intentar debajo del código:
String s="abc123xyz456"; int i=((Number)NumberFormat.getInstance().parse(s)).intValue()
Salida: i = 123;
Código de barras a menudo consisten en un gran número, así que creo que su aplicación se bloquea debido al tamaño de la cadena que está intentando convertir a int
. Puede utilizar BigInteger
BigInteger reallyBig = new BigInteger(myString);
No se puede convertir a cadena si su valor entero es cero o comienza con cero (en cuyo caso el primer cero se descuidará). Trate de cambiar.
int NUM=null;