isDigit()

isDigit(caractere)

Quando você lê caractere por caractere (por exemplo, algo que veio pela Serial), muitas vezes precisa saber se aquilo é um número antes de tentar converter. O isDigit() responde exatamente isso: o caractere é um dígito de 0 a 9?

Sintaxe

isDigit(caractere);

Parâmetros

  • caractere: o caractere a testar (um char).

Retorno

true se for um dígito de 0 a 9; caso contrário, false (tipo bool).

Exemplo

void setup() {
  Serial.begin(9600);
  char c = '7';
  if (isDigit(c)) {
    Serial.println("É um dígito!");
  } else {
    Serial.println("Não é dígito.");
  }
}

void loop() {
}

Notas e cuidados

  • Ele testa o caractere '7', não o número 7. Cuidado para não confundir o caractere '0' (código 48) com o valor 0.
  • Sinais como '+', '-' e o ponto decimal '.' não contam como dígito.
  • Útil para validar entrada antes de usar Serial.parseInt(). Para transformar o dígito no número que ele representa, subtraia '0': int valor = c - '0'; (cuidado: int(c) devolve o código ASCII, ou seja int('7') é 55, não 7).

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

Conhecer o Curso Maker