Kotlin maneja tipos de datos numéricos principalmente:
- Números Enteros
- Números Decimales
Números Enteros
Byte
Short
Int
Long
Tipo de Dato | Tamaño | Rango |
---|---|---|
Byte | 1 Byte | -128 a 127 |
Short | 2 Bytes | -32,768 a 32,767 |
Int | 4 Bytes | -2,147,483,648 a 2,147,483,647 |
Long | 8 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 Dato | Tamaño | Rango |
---|---|---|
Float | 4 Bytes | 6 a 7 decimales |
Double | 8 Bytes | 15 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.