Diferentes formas de convertir cadenas a int en Kotlin

Kailash Vaviya 15 febrero 2024
  1. Convierta Kotlin String a Int usando el método toInt()
  2. Convierta Kotlin String a Int usando el método toIntOrNull()
  3. Convierta Kotlin String a Int usando el método parseInt()
Diferentes formas de convertir cadenas a int en Kotlin

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)
}

Convertir cadena de Kotlin a int usando toInt()

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)
}

Convertir una cadena no convertible a int arroja NumberFormatException

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.")
    }
}

Manejo de NumberFormatException con un bloque try-catch

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)
}

Convertir cadena a int usando la función toIntOrNull()

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)
}

Los valores no convertibles muestran un valor nulo cuando se usa la función toIntOrNull()

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)
}

Convertir una cadena de Kotlin a int usando la función parseInt()

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn

Artículo relacionado - Kotlin String