float()

float(valor)

Quando você divide dois inteiros no Arduino, o resultado vem cortado (sem decimais). O float() resolve isso: ele transforma um valor em número de ponto flutuante, pra você trabalhar com casas decimais de verdade.

Sintaxe

float(valor);

Parâmetros

  • valor: o número que você quer converter para float.

Retorno

O valor convertido para float (ponto flutuante de 32 bits, com cerca de 6-7 dígitos de precisão).

Exemplo

void setup() {
  Serial.begin(9600);
  int total = 7;
  int partes = 2;
  // sem float, 7/2 daria 3; com float dá 3.50
  float media = float(total) / partes;
  Serial.println(media); // 3.50
}

void loop() {
}

Notas e cuidados

  • Para uma divisão sair com decimais, pelo menos um dos lados precisa ser float — por isso convertemos o total no exemplo.
  • float guarda aproximações: valores como 0.1 não são exatos. Nunca use == pra comparar dois floats.
  • O ATmega do Uno não tem unidade de ponto flutuante, então contas com float são mais lentas — use com parcimônia em loops rápidos.

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

Conhecer o Curso Maker