Avatar ·

¿Cómo convertir una cadena a tipo Long en Kotlin? Formas seguras y manejo de errores

¡Hola a todos! Acabo de empezar a aprender Kotlin después de Java y tengo un problema con la conversión de una cadena a un número de tipo Long. Necesito leer un valor numérico de un campo de texto en la aplicación y realizar operaciones aritméticas con él.

Aquí hay un ejemplo de mi código:

val input = "1234567890123"
val number: Long = input.toLong()
println(number * 2)

Esto funciona cuando la cadena contiene garantizadamente un número válido. Pero, ¿qué pasa si el usuario ingresa algo como "abc123" o "12.34"? Entonces el programa falla con NumberFormatException. En Java usaba try-catch o verificaba con Long.parseLong, pero en Kotlin, ¿hay algún método incorporado más elegante?

Otra pregunta: ¿cómo manejar el caso en que la cadena puede ser null? Por ejemplo, cuando los datos provienen de una API externa o una base de datos. Kotlin tiene seguridad contra null, seguramente hay funciones especiales, ¿verdad?

¡Agradecería ejemplos de código con explicaciones! ¡Gracias de antemano!