double
double nome = 0.0;
O double também guarda números com casas decimais, e a ideia é ter mais precisão que o float. Mas atenção: isso depende da placa. No Arduino Uno, double e float são exatamente a mesma coisa; a precisão extra só aparece em placas de 32 bits.
Sintaxe
double nome = 0.0;
Parâmetros
Nenhum (declaração de variável).
Retorno
No Arduino Uno ocupa 4 bytes (idêntico ao float, ~6-7 dígitos). No ESP32 e placas de 32 bits são 8 bytes, com precisão bem maior (~15 dígitos).
Exemplo
void setup() {
Serial.begin(9600);
double raio = 2.5;
double area = 3.14159265 * raio * raio;
Serial.println(area, 4); // 4 casas decimais
}
void loop() {}
Notas e cuidados
- No Uno, usar
doublenão te dá precisão extra em relação aofloat— é o mesmo tipo. - Como o
float, evite comparar com==; compare diferenças contra uma tolerância. - No ESP32, o
doublede verdade é mais lento e gasta mais memória — use só quando a precisão importa.