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 double não te dá precisão extra em relação ao float — é o mesmo tipo.
  • Como o float, evite comparar com ==; compare diferenças contra uma tolerância.
  • No ESP32, o double de verdade é mais lento e gasta mais memória — use só quando a precisão importa.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker