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úmero7. Cuidado para não confundir o caractere'0'(código 48) com o valor0. - 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 sejaint('7')é55, não7).