Kotlin maneja tipos de datos numéricos principalmente:

  • Números Enteros
  • Números Decimales

Números Enteros

  • Byte
  • Short
  • Int
  • Long

Tipo de DatoTamañoRango
Byte1 Byte-128 a 127
Short2 Bytes-32,768 a 32,767
Int4 Bytes-2,147,483,648 a 2,147,483,647
Long8 Bytes-2^63 a (2^63) – 1

Elige el más adecuado de acuerdo al rango de númeración que necesitas manejar.

Ejemplos:

// Byte -127 - 128
val age = 20 //Sí compila
val newAge: Byte = 128 //No compila
// Int
// 2 mil millones
val productId = 2147483747
val productId2 = 2_147_483_747

val productId3: Int = 2_147_483_748 //No compila
// Long
// 9 trillones
val userId: Long = 9_223_372_036_854_775_807
val userId2: Long = 9_223_372_036_854_775_808 //No compila
val userId3 = 9_223_372_036_854_775_807L //Si colocas L infiere el tipo de dato

Quieres saber más sobre cómo Kotlin Infiere datos mira este Post.

Números Decimales

  • Float
  • Double

Tipo de DatoTamañoRango
Float4 Bytes6 a 7 decimales
Double8 Bytes15 a 18 decimales

Por defecto el compilador infiere que estás declarando un tipo Double a menos que le indiques un Float con una F.

val myFloat = 2.12345678911234567F
println(myFloat) //imprime solo hasta 2.1234567 trunca lo que no es capaz de soportar
val myDouble = 2.123456789112345678 
println(myDouble) //imprime solo hasta 2.12345678911234567 trunca lo que no es capaz de soportar

¿Cuándo elegir Float y cuándo Double?

Esto gira entorno a la precisión entre más digitos soporte nuestro tipo de dato mayor precisión tendremos en el resultado, entonces medita en el tipo de operación que necesites hacer y el resultado.

BigInteger y BigDecimal

Estos son tipos de datos que provienen directamente de Java y están diseñados para trabajar con cálculos muy precisos por ejemplo:

  • Ciencia
  • Negocios – Dinero

Todo esto que aprendiste es parte del Curso Esencial de Kotlin míralo completo a un precio especial solo aquí en mi sitio web.

😊 Gracias por comparitr haces un excelente trabajo divulgando conocimiento.