Introducción a las variables en Flutter: Int y Double


Avatar de Pedro Cortez

¿Cuál es la diferencia entre int y double? Existen tres tipos de variables en Flutter que te permiten almacenar números o dígitos: Para explicarlo de manera simplificada, int solo acepta números enteros (1, 10, 100, etc.), double acepta números decimales (1.0, 2.7, 3.14, etc.), y num puede utilizarse para ambos. Convertir int a double y…


class int double

¿Cuál es la diferencia entre int y double?

Existen tres tipos de variables en Flutter que te permiten almacenar números o dígitos:

  • int;
  • double;
  • num.

Para explicarlo de manera simplificada, int solo acepta números enteros (1, 10, 100, etc.), double acepta números decimales (1.0, 2.7, 3.14, etc.), y num puede utilizarse para ambos.

No es posible mezclar int y double para realizar operaciones. Por lo tanto, es importante que anticipes cómo vas a usar tus variables, o que las conviertas antes de intentar sumar, restar, multiplicar, etc.

Convertir int a double y viceversa

Si por alguna razón necesitas convertir tu variable int a double, o viceversa, Flutter ofrece el método .parse():

int valorInt = 100;
double valorDouble = 3.14;

int convertirInt = int.parse(valorDouble);
double convertirDouble = double.parse(valorInt);

print(convertirInt.runtimeType);
print(convertirDouble.runtimeType);
int
double

Este método también funciona con números almacenados como String. Sin embargo, solo se puede aplicar a números, no a otros tipos de caracteres. Por ejemplo, no se puede aplicar a una variable con valor “tres”.

Mostrar un número en un texto

Las variables de tipo String y int o double son diferentes por una razón: los widgets que aceptan texto como parámetro solo pueden recibir variables de tipo String. Por lo tanto, tendrás que convertir tus números antes de poder mostrarlos, utilizando el método .toString():

int cuatro = 4;
Text(${cuatro.toString()});

Realizar operaciones con valores numéricos en Flutter

El propósito de almacenar números es, por supuesto, poder sumarlos, restarlos, etc. Aquí tienes los diferentes operadores que puedes usar con tus variables de tipo int o double.

Sumar

La primera operación que puedes realizar es, naturalmente, la suma, simbolizada por un +:

int cuatro = 4;
int dos = 2;

print(cuatro + dos);
6

Restar

Luego está la resta, simbolizada por un :

int cuatro = 4;
int dos = 2;

print(cuatro - dos);
2

Incrementar

Incrementar significa aumentar un número en 1. Esta operación puede ser útil, por ejemplo, cuando se lleva un conteo. Se simboliza con ++:

int numero = 4;
numero++;
print(numero);
5

Decrementar

Decrementar, por el contrario, significa restar 1 a un número, como en una cuenta regresiva. Se simboliza con :

int numero = 4;
numero--;
print(numero);
3

En este ejemplo, separé los dos signos para mayor claridad, pero no debes poner espacios entre ellos en tu código, ya que el símbolo perdería su significado.

Multiplicar

Para multiplicar dos valores numéricos, puedes utilizar el símbolo *:

int cuatro = 4; 
int dos = 2; 

print(cuatro * dos);
8

Dividir

El símbolo para la división es /:

int cuatro = 4; 
int dos = 2; 

print(cuatro / dos);
2

Obtener el resto de una división

El símbolo % (llamado módulo) te permite obtener el resto de una división. Esto puede ser útil en algunos casos, como para determinar si un número es par o impar (si es par, el resultado será 0 al dividir por 2):

int cinco = 5; 
int dos = 2; 

print(cinco % dos);
1

Propiedades para usar con variables int o double

Aquí tienes algunas propiedades que puedes utilizar con tus valores numéricos.

Saber si un número es negativo

La propiedad isNegative te permite saber si tu número es negativo. Si es el caso, el resultado será true:

int cinco = 5; 
print(cinco.isNegative);
false

Por el contrario, la propiedad isNaN devolverá true si la variable no es un número:

int cinco = 5; 
print(cinco.isNaN);
false

Finalmente, una manera de conocer el signo de un número es usar la propiedad sign. Esta devolverá un valor de 1, 0, o -1 según la magnitud del número. Un valor positivo devolverá 1, 0 devolverá 0, y un número negativo devolverá -1:

int cinco = 5; 
print(cinco.sign);
1

Saber si un número es finito

Para determinar si el valor almacenado en una variable de tipo int o double es finito, puedes usar la propiedad isFinite:

int cinco = 5; 
print(cinco.isFinite);
true

Por el contrario, la propiedad isInfinite devolverá true si el valor es infinito:

int cinco = 5; 
print(cinco.isInfinite);
false

Saber si un número es par o impar

Finalmente, puedes saber si un número es par o impar utilizando las propiedades isEven (par) e isOdd (impar):

int cinco = 5; 
print(cinco.isEven); 
print(cinco.isOdd);
false
true

Métodos de Flutter relacionados con los int y los double

A continuación, se presenta una lista no exhaustiva de métodos que se pueden utilizar con tus variables de tipo int o double.

Redondear un double

El método .round() (redondeo) te permite redondear un número decimal a su valor absoluto más cercano. Por ejemplo:

double pi = 3.14; 
print(pi.round());
3

También existe el método .ceil() (techo) que permite redondear un número decimal hacia el valor superior más próximo. Por ejemplo:

double pi = 3.14; 
print(pi.ceil());
4

Por el contrario, .floor() (suelo) redondea tu número hacia el valor inferior más próximo. Por ejemplo:

double myNumber = 3.90; 
print(myNumber.floor());
3

Obtener el valor absoluto de un número

Por valor absoluto, nos referimos al valor positivo de un número. Por ejemplo, 3 sería el valor absoluto de -3 (o de 3, aunque no tendría mucho sentido usar un método en este caso). Para obtener este valor, Flutter pone a nuestra disposición el método .abs():

int myNumber = -10; 
print(myNumber.abs());
10

Encontrar el máximo común divisor entre dos números

Para encontrar el máximo común divisor entre dos números, puedes utilizar el método .gcd(). Este toma como argumentos los dos números que deseas comparar:

print(4.gcd(2));
print(8.gcd(4));
2
4

Conclusión

Ahora ya eres capaz de declarar y manipular variables de tipo Int o Double. ¿Por qué no seguir aprendiendo cómo crear listas?


Avatar de Pedro Cortez