Quelle est la différence entre int et double ?
Il existe trois types de variables dans Flutter vous permettant de stocker des chiffres ou des nombres :
- int ;
- double ;
- num.
Pour expliquer de manière très simplifiée la différence entre les trois, int ne prend que des nombres entiers (1, 10, 100, etc), double des nombres décimaux (1.0, 2.7, 3.14, etc) et num peut servir pour les deux.
Convertir mon int en double et inversement
Si pour une raison, vous avez besoin de convertir votre variable int en double, ou inversement, Flutter a mis à disposition la méthode .parse() :
int valeurInt = 100;
double valeurIDouble = 3.14;
int convertInt = int.parse(valeurDouble) ;
double convertDouble= double.parse(valeurInt) ;
print(convertInt.runtimeType);
print(convertDouble.runtimeType);
↪ int
↪ doubleAfficher un nombre dans du texte
Les variables de types String et Int ou double ne sont pas différentes pour rien. Les widgets qui prennent du texte comme paramètre, ne peuvent recevoir que des variables de type String. Vous devrez donc convertir vos nombres avant de pouvoir les afficher, en utilisant la méthode .toString();
int quatre = 4;
Text(${quatre.toString()});Réaliser des opérations avec des valeurs numériques dans Flutter
L’intérêt de stocker des nombres est bien sûr de pouvoir les additionner, soustraire, etc. Voici donc les différents opérateurs que vous pouvez utiliser avec vos variables de type int ou double.
Additionner
La première opération que vous pouvez réaliser est bien sûr l’addition, symbolisée par un + :
int quatre = 4;
int deux = 2;
print(quatre + deux);
↪ 4Soustraire
Vient ensuite la soustraction qui est quant à elle symbolisée par un – :
int quatre = 4;
int deux = 2;
print(quatre - deux);
↪ 2Incrémenter
Incrémenter veut dire augmenter un chiffre de 1. Réaliser ce genre d’opération peut être pratique dans certains cas, par exemple quand on tient un compte. Elle est symbolisée par un double +:
int chiffre = 4;
chiffre++;
print(chiffre);
↪ 5Décrémenter
Décrémenter au contraire veut dire retirer 1 à un chiffre. Par exemple, on peut l’utiliser pour un compte à rebours. La décrémentation est symbolisée par deux signes – :
int chiffre = 4;
chiffre --;
print(chiffre);
↪ 3Multiplier
Pour multiplier deux valeurs numériques, vous pouvez utiliser le symbole * :
int quatre = 4;
int deux = 2;
print(quatre * deux);
↪ 8Diviser
Le signe diviser quant à lui est symbolisé par un / :
int quatre = 4;
int deux = 2;
print(quatre / deux);
↪ 2Obtenir le reste d’une division
Enfin, le symbole % (appelé modulo), vous permet de récupérer le reste d’une division. Cela peut être utile dans certains cas, par exemple pour définir si un nombre est pair ou impair (s’il est pair, mon résultat sera 0 si je divise par 2) :
int cinq = 5;
int deux = 2;
print(cinq % deux);
↪ 1Propriétés à utiliser avec des variables int ou double
Voici quelques propriétés pouvant être utilisées avec vos valeurs numériques.
Savoir si un nombre est négatif
La propriété isNegative vous permet de savoir si votre nombre est négatif ou pas. Si c’est le cas, le résultat renvoyé sera true :
int cinq = 5;
print(cinq.isNegative);
↪ false À l’inverse, la propriété isNan renverra true si la valeur est positive :
int cinq = 5;
print(cinq.isNan);
↪ trueEnfin, une dernière manière de connaître le signe d’un chiffre est d’utiliser la propriété sign. Celle-ci renverra un résultat de 1, 0 ou -1 selon la valeur. Une valeur positive renverra 1, 0 renverra 0 et une valeur négative renverra -1.
int cinq = 5;
print(cinq.sign);
↪ 1Savoir si un nombre est fini
Pour savoir si la valeur contenue dans une variable de type int ou double est finie, vous pouvez utiliser la propriété isFinite :
int cinq = 5;
print(cinq.isFinite);
↪ true À l’inverse, la propriété isInfinite renverra true si la valeur que vous lui donnez est bien infinie :
int cinq = 5;
print(cinq.isInfinite);
↪ falseSavoir si un nombre est pair ou impaire
Enfin, vous pouvez savoir si un nombre est pair ou impair, grâce aux fonctions isEven (pair) et isOdd (impair) :
int cinq = 5;
print(cinq.isEven);
print(cinq.isOdd);
↪ false
↪ true Méthodes de Flutter en lien avec les int et les doubles
Voici une liste non exhaustive de méthodes pouvant être utilisées avec vos variables de type int ou double.
Arrondir un double
La méthode .round() (arrondi) vous permet d’arrondir un nombre décimal, à sa valeur absolue la plus proche. Par exemple :
double pi = 3.14;
print(pi.round());
↪ 3Il existe aussi la méthode .ceil() (plafond) vous permettant d’arrondir un nombre décimal à sa valeur supérieure. Par exemple :
double pi = 3.14;
print(pi.ceil());
↪ 4Au contraire, .floor() (plancher) arrondi votre nombre à la valeur absolue inférieure. Par exemple :
double myNumber = 3.90;
print(myNumber.floor());
↪ 3Obtenir la valeur absolue d’un nombre
Par valeur absolue, on entend ici, la valeur positive d’un nombre. Par exemple 3 serait la valeur absolue de -3 (ou de 3, mais pas grand intérêt d’utiliser une méthode du coup). Pour obtenir cette valeur, Flutter met à notre disposition la méthode .abs() :
int myNumber = -10;
print(myNumber.abs());
↪ 10Trouver le plus grand diviseur commun entre deux nombres
Pour trouver le plus grand diviseur commun entre deux nombres, vous pouvez utiliser la méthode .gcd(). Celle-ci prend comme arguments les deux nombres que vous voulez comparer :
print(4.gcd(2));
print(8.gcd(4));
↪ 2
↪ 4Conclusion
Vous êtes désormais capable de déclarer et manipuler des variables de type Int ou Double. Pourquoi ne pas continuer en apprenant à créer des listes ?

