Utilizando Python para verificar se uma string é numérica

A vida de um programador é cheia de tarefas repetitivas, uma delas é verificar se uma string (ou o input do usuário) é um número ou não. Este post mostrará algumas formas de fazer isso em Python, ou seja, vai ser rápido e fácil. 🙂

Os exemplos foram escritos utilizando a o prompt, mas se você quiser o fonte deles, está disponível no meu github.

A primeira forma de descobrir é utilizando a função isdigit da propria string, conforme exemplo abaixo:

Como pode ser percebido, esta função retornou true apenas quando a string era inteiramente composta por números. Qualquer coisa diferente de 0,1,2,3,4,5,6,7,8 e 9 retorna falso. Isso pode ser útil se você precisar fazer uma validação simples de um campo, que só pode receber números inteiros e positivos.

Todavia, é um pouco limitado se precisarmos validar números com casas decimais ou mesmo números negativos. Para resolver estes casos, existe uma abordagem um pouco diferente, conforme demonstrado abaixo:

Se declararmos uma função que tenta converter a variável string para float, conseguimos cobrir os casos de teste que não foram incluídos na utilização do isdigit. Realizei diversas pesquisas, mas parece que esta forma é a mais comum de ser feita e não gera impacto negativo na performance da aplicação (pendente de testes. estou acreditando no que li.)

Espero ter ajudado.

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Dev, Python and tagged , , , , , , , , , , .