¿Qué es una variable de punto flotante? ¿Cómo funcionan los números decimales en Arduino? ¿Cómo se realiza una operación con ella?

Introducción

Las variables float se utilizan para almacenar números decimales en el programa. Corresponden a todos los números positivos y negativos con punto y coma.

Así se declara un número decimal:

float decimal_number = 3.14159;

Operación aritmética

Con estos números decimales, se pueden realizar operaciones aritméticas como sumas, restas y muchas más. Aquí hay algunos ejemplos:
Suma

void setup() {
  Serial.begin(9600); // We initialize the serial monitor
  float variable_a=13.34; // The first variable
  float variable_b=2.56; // The second variable
  Serial.println(variable_a+variable_b); // We display the result of the addition 
}

void loop() {
}
  • Resta
void setup() {
  Serial.begin(9600); // We initialize the serial monitor
  float variable_a=-5.34; // The first variable
  float variable_b=8.46; // The second variable
  Serial.println(variable_a-variable_b); // We display the result of the substraction 
}

void loop() {
}
  • El máximo entre dos decimales

    El máximo entre dos decimales puede ser útil para obtener el valor más importante. A continuación, se muestra un ejemplo:

void setup() {
 Serial.begin(9600); // We initialize the serial monitor 
 float variable_a=2.3; // We initialize the first variable
 float variable_b=7.2; // We initialize the second variable 
 float variable_max=max(variable_a,variable_b); //  The variable_max return the maximum of the two variables
 Serial.print("The maximum is:"); // We display the maximum between two numbers 
 Serial.println(variable_max);
}

void loop() {
}

También puedes comparar dos números decimales en un bucle if, for o while con operadores de comparación o incluso la raíz cuadrada de un número decimal. Puedes encontrar estos operadores en nuestro curso de funciones matemáticas.

¿Cómo convertir una variable entera o una variable de cadena en una variable flotante?

Es posible que necesites transformar una variable int o string en un valor de punto flotante. Para ello, solo tienes que añadir (float) antes de la variable para transformarla en un número decimal.

Ejemplo con una variable entera:

void setup() {
  Serial.begin(9600); // We initialize the serial monitor 
  int variable =23; //your float's variable
  float variable_integer = (float)variable; // To convert the integer's variable 
  Serial.println(variable_integer); // We display the result 
}

void loop() {
}

Ejemplo con una variable de cadena:

void setup() {
  Serial.begin(9600); // We initialize the serial monitor 
  string variable ="23.6"; //your float's variable
  float variable_float = (float)variable; // To convert the string's variable 
  Serial.println(variable_float); // We display the result 
}

void loop() {
}