none
Condição "Se valor for diferente de número" RRS feed

  • Pergunta

  • Boa noite, preciso de uma ajuda para tratar um erro. Estou programando uma placa Arduino em linguagem C.

    Eu recebo um valor numérico de um módulo de temperatura e trato ele com diversos if e else ifs. A dúvida é, como posso fazer um if com a condição "se valor for diferente de número"? A placa às vezes não consegue ler a temperatura e entra com um valor cheio de caracteres especiais; acredito que essa seja a melhor forma de evitar este erro.

    segunda-feira, 16 de janeiro de 2017 22:31

Respostas

  • Olá Júlio, 

    Tente usar a função isdigit()

    se o retorno for 0 é porque não é um número, qualquer coisa diferente de 0 é porque é um número. 

    Exemplo:

    if (isdigit(valor) != 0)
    não se esqueça de usar o #include <ctype.h>


    Espero ter ajudado. 

    quinta-feira, 26 de janeiro de 2017 12:30