HOWTO · Kotlin
Diferentes formas de convertir cadenas a int en Kotlin
Puede convertir una cadena de Kotlin en un número entero si está creando un programa o una aplicación que acepta varios parámetros y quiere asegurarse de que solo pasa parámetros enteros.
Suponga que está creando una aplicación o un programa simple. Si una función en su programa solo acepta valores enteros, debe convertir String a Int para evitar la NumberFormatException o cualquier otra excepción similar.
Pero, ¿cómo convertir Kotlin String a Int? Hay varias formas de hacerlo. Este artículo enseña algunas formas de convertir String a Int en Kotlin.
Convierta Kotlin String a Int usando el método toInt()
Podemos usar la función toInt() para convertir un String en un Int. Esta es la sintaxis estándar para hacerlo.
String.toInt()
Esto significa que llamaremos al método toInt() en nuestras instancias de String para la conversión. En el siguiente ejemplo, usaremos esta sintaxis para convertir un String "246" en un Int 246.
fun main() {
val strVal = "246"
val intVal = strVal.toInt()
println(intVal)
}
Como puede ver, el programa anterior convierte con éxito la Cadena a Int. Pero si hay una Cadena no convertible, la función toInt() lanza una excepción InvalidFormatException.
Para fines de demostración, cambiaremos la Cadena "246" en el código anterior a Cadena "246b" e intentaremos convertirla.
fun main() {
val strVal = "246b"
val intVal = strVal.toInt()
println(intVal)
}
Este programa lanza java.lang.NumberFormatException ya que no puede convertir la letra "b" en un número entero.
Por lo tanto, debemos usar la función toInt() dentro de un bloque try-catch para manejar la excepción. Con el bloque try-catch, podemos asignar un valor de impresión predeterminado si se produce la excepción.
Aquí se explica cómo incorporar la función toInt() en el bloque try-catch.
fun main(){
try {
val strVal = "246"
val intVal = strVal.toInt()
println(intVal)
} catch (e: NumberFormatException) {
println("This format is not convertible.")
}
try {
val strVal1 = "246b"
val intVal1 = strVal1.toInt()
println(intVal1)
} catch (e: NumberFormatException) {
println("This format is not convertible.")
}
}
El primer método toInt() convierte la String "246" en un Int en el programa anterior. Pero cuando se ejecuta la segunda función toInt(), lanza la NumberFormatException, que es manejada por el bloque try-catch.
Convierta Kotlin String a Int usando el método toIntOrNull()
Si no queremos agregar el bloque try-catch, podemos usar la función toIntOrNull() en su lugar. Como su nombre indica, este método devuelve un valor nulo si la conversión no tiene éxito.
Por lo tanto, si solo desea valores enteros y no quiere preocuparse por los valores no convertibles, puede usar la función toIntOrNull.
fun main(){
val strVal = "246"
val intVal = strVal.toIntOrNull()
println (intVal)
}
Si la conversión es exitosa, mostrará el valor Int. Pero si la conversión no tiene éxito, convertirá la Cadena en nulo.
fun main(){
val strVal = "246b"
val intVal = strVal.toIntOrNull()
println (intVal)
}
Convierta Kotlin String a Int usando el método parseInt()
Otra forma de convertir Kotlin String a Int es usando la función parseInt(). Funciona de manera similar al método toInt(), con la diferencia clave de que parseInt() toma un parámetro.
Otra diferencia entre los dos es que toInt pertenece a la clase String, y parseInt() es una función de la clase Int de Kotlin.
Aquí se explica cómo utilizar el método parseInt() para convertir String de Kotlin en Int.
fun main(){
val strVal = "246"
val intVal = Integer.parseInt(strVal)
println(intVal)
}