¿Cómo convierto una cadena en un entero?
Tengo un cuadro de texto para que el usuario ingrese un número en:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
Y el valor se asigna a la cadena hello
.
Quiero convertirlo en un entero para poder obtener el número que escribieron; se usará más adelante en el código.
¿Hay alguna manera de obtener el EditText
entero? Eso saltaría al intermediario. Si no, la cadena al número entero estará bien.
Respuestas:
Vea la clase Integer y el
parseInt()
método estático :http://developer.android.com/reference/java/lang/Integer.html
Sin
NumberFormatException
embargo, deberá atrapar en caso de problemas durante el análisis, por lo que:fuente
fuente
Usar expresión regular:
salida: i = 1234;
Si necesita la primera combinación de números, entonces debe probar el siguiente código:
salida: i = 123;
fuente
Usar expresión regular:
salida:
fuente
Usar expresión regular es la mejor manera de hacerlo, como ya lo mencionó Ashish Sahu
fuente
Prueba este código, realmente funciona.
fuente
La mejor manera de convertir su cadena en int es:
fuente
Debes encubrir String para flotar. Está funcionando.
fuente
Puede usar lo siguiente para analizar una cadena a un entero:
valor int = Integer.parseInt (textView.getText (). toString ());
(1) input: 12 entonces funcionará ... porque textview ha tomado este número 12 como cadena "12".
(2) input: "abdul", entonces arrojará una excepción que es NumberFormatException. Entonces, para resolver esto, necesitamos usar try catch como menciono a continuación:
También puede consultar el siguiente enlace para obtener más información: http://developer.android.com/reference/java/lang/Integer.html
fuente
También puedes hacerlo una línea:
Lectura del orden de ejecución
findViewById(R.id.button1)
((Button)______)
para lanzar elView
comoButton
.GetText()
para obtener la entrada de texto de Button.toString()
para convertir el carácter que varía en una cadena.ReplaceAll()
con"[\\D]"
para reemplazar todos los caracteres que no sean dígitos con "" (nada)Integer.parseInt()
agarrar y devolver un número entero de la cadena de solo dígitos.fuente
El método mucho más simple es usar el
decode
método deInteger
modo que, por ejemplo:fuente
Kotlin
Hay métodos de extensión disponibles para analizarlos en otros tipos primitivos.
"10".toInt()
"10".toLong()
"true".toBoolean()
"10.0".toFloat()
"10.0".toDouble()
"10".toByte()
"10".toShort()
Java
fuente
Hay cinco formas de convertir la primera forma:
La segunda forma:
La tercera vía:
El cuarto camino:
La quinta vía:
Podría haber otras formas, pero eso es lo que recuerdo ahora.
fuente