Qu'est-ce qu'un float ? Comment fonctionne les nombres décimaux sur Arduino ? Comment faire des opérations ?

Introduction

Les variables float permettent de stocker des nombres à virgule dans vos programmes. Cela corresponds à tous les nombres négatif ou positif avec virgule. Ils sont appelés float en langage arduino.

Voici comment on déclare un nombre décimal :

float nombre_decimal = 3.14159;

Opération arithmétique

Sur ces nombres décimaux, vous pouvez faire des opérations mathématique comme des additions, soustraction et bien plus encore. Voici quelques exemples :
void setup() {
  Serial.begin(9600); // on initialise le moniteur série
  float variable_a=13.34; // La première variable
  float variable_b=2.56; // La deuxième variable
  Serial.println(variable_a+variable_b); // On affiche le résultat de l'addition
}

void loop() {
}
Voici un tableau rassemblant l’ensemble des opérations possibles sur des nombres décimaux :
OpérateurCode
Addition : +float addition =5.3 + 6.2 // retourne 11.50
Soustraction : –float soustraction =12.13 – 1.00 // retourne 11.13
Multiplication : *float  multiplication = 9.7*3; // retourne 29.10
Divison : /float division = 7/2; // retourne 3.00
Modulo : %float modulo =7 % 5 // retourne 3.00.
  • Le maximum de deux nombres décimaux

Le maximum entre deux nombres décimaux permet de retourner la valeur qui est la plus importante des deux. On va voir un exemple de  maximum entre deux nombres :

void setup() {
 Serial.begin(9600); // Initialise le moniteur série
 float variable_a=2.3; // Initalise la premiere variable
 float variable_b=7.2; // Initialise la deuxième variable
 float variable_max=max(variable_a,variable_b); // La variable max retourne le maximum des deux variables
 Serial.print("Le maximum est:"); // On affiche le maximum entre les deux nombres
 Serial.println(variable_max);
}

void loop() {
}
Vous pouvez aussi comparer deux variables float dans une boucle if, for ou while avec des opérateurs de comparateur. ou bien même la racine carrée d’un nombre décimal. Vous retouverez tous ceci sur notre cours sur les fonctions mathématiques.

Comment convertir un entier ou string en float ?

Il se peut que vous ayez besoin de transformer une variable int, string en un float. Pour cela on va juste ajouter (float) devant votre variable afin de la transfomer en nombre décimal :
void setup() {
  Serial.begin(9600); // On initialise le moniteur série
  int variable =23; // Votre variable en décimal
  float variable_entier = (float)variable; // Permet de convertir la variable en entier
  Serial.println(variable_entier); // On affiche 23.0
}

void loop() {
}