En este post voy a exponer los tipos de datos numéricos en Kotlin; además de la conversión que se puede hacer entre cada uno de ellos.
Tipos de datos numéricos en Kotlin
En Kotlin tenemos 6 tipos de datos numéricos. Veamos la siguiente tabla:
|Tipo de dato|Longitud en bits|Rango
|--|--|--
|Byte|8|-128 a 127
|Short|16|-32,768 a 32,767
|Int|32|-2,147,483,648 a 2,147,483,647
|Float|32|1.4E-45 a 3.4028235E38
|Double|64|4.9E-324 a 1.7976931348623157E308
|Long|64|-9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
Se declaran ya sea indicando el tipo o dejando que el compilador lo infiera:
var miByte : Byte = 127
var miShort : Short = -51
var miInt : Int = -10
var miFloat : Float = -51.3F
var miDouble : Double = 1584.2
var miLong : Long = 1584L
println(miByte)
println(miShort)
println(miInt)
println(miFloat)
println(miDouble)
println(miLong)
Conversiones de números
Kotlin proporciona varias maneras de realizar conversiones de números; de manera que podemos convertir, por ejemplo, un Byte a un Int, un Float a un Double, etcétera.
var miByte : Byte = 127
var miInt : Int = miByte.toInt()
miInt += 500
println(miInt)
var miFloat = 800.6f
var otroByte : Byte = miFloat.toByte()
println(otroByte)
// Todas las funciones:
println(otroByte.toByte())
println(otroByte.toShort())
println(otroByte.toInt())
println(otroByte.toFloat())
println(otroByte.toDouble())
println(otroByte.toLong())
Recuerda que debes tener cuidado con las conversiones; sobre todo cuando conviertes de un tipo grande a uno pequeño; es decir, de uno que tiene más bits que el otro.
Las funciones de conversión son:
- toByte()
- toShort()
- toInt()
- toFloat()
- toDouble()
- toLong()
Y todos los números las tienen
Si quieres probar el código, puedes hacerlo aquí.