Int et double : Introduction aux variables dans Flutter


Avatar de Pierre Courtois

Deux classes de Flutter que vous serez amené à revoir souvent et devrez maitriser sont les int et les double. Quelle est la différence entre les deux ? Comment réaliser des opérations ? Tuto Flutter.fr tente de répondre à ces questions et d’y apporter des exemples simples à comprendre.


série de chiffres

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. 

Il n’est pas possible de mélanger des int et des doubles pour réaliser des opérations. Pensez donc bien à l’avance à quoi vont servir vos variables, ou à les convertir avant d’essayer d’additionner, soustraire, multiplier, etc, vos nombres entre eux. 

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 
double

Cette méthode fonctionne aussi pour des chiffres que vous avez stockés sous forme de String. Attention toutefois, elle ne peut s’appliquer que sur des nombres et aucun autre type de caractères. Par exemple, vous ne pouvez pas l’appliquer sur une variable ayant pour valeur “trois”. 

Afficher 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);
4

Soustraire

Vient ensuite la soustraction qui est quant à elle symbolisée par un – : 

int quatre = 4; 
int deux = 2; 

print(quatre - deux);
2

Incré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);
5

Dé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);
3

Pour cet exemple, je sépare les deux signes afin qu’ils se voient bien. Mais ne mettez pas d’espaces entre les deux lorsque vous écrivez votre code, sinon le symbole perd son sens. 

Multiplier 

Pour multiplier deux valeurs numériques, vous pouvez utiliser le symbole * : 

int quatre = 4; 
int deux = 2; 

print(quatre * deux);
8

Diviser

Le signe diviser quant à lui est symbolisé par un / :

int quatre = 4; 
int deux = 2; 

print(quatre / deux);
2

Obtenir 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);
1

Proprié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); 

true

Enfin, 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); 

1

Savoir 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); 

false

Savoir 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()); 

3

Il 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()); 

4

Au contraire, .floor() (plancher) arrondi votre nombre à la valeur absolue inférieure. Par exemple :

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

3

Obtenir 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()); 

10

Trouver 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
4

Conclusion

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 ?

Avatar de Pierre Courtois