Python

Como verificar se o valor de uma variável string é número?

1 de maio de 2020

Como verificar se o valor de uma variável string é número?

Neste artigo vamos aprender a verificar se o valor de uma variável string é número com Python, por maneiras bem simples e rápidas.

verificar se string é numero capa

Fala programador(a), beleza? Bora aprender mais sobre Python!

Temos um método no Python que verifica se as strings são um digito, porém ele só trabalha com inteiros positivo

O método é isdigit, ele vai retornar True ou False se a string for um inteiro, veja:

a = 'teste'
b = '12'
c = 'temos o numero 1 aqui'

print(a.isdigit())
print(b.isdigit())
print(c.isdigit())

Vemos aqui o método sendo utilizado, veja as saídas:

False
True
False

Perceba que ele só vai retornar True, caso a string realmente seja apenas um número

Nos demais casos é retornado False

Podemos também fazer uma função para tratar deste caso, e abranger os floats (números quebrados), veja:

d = '12.28'
e = 'teste'

def isNumber(n):
  try:
    float(n)
  except ValueError:
        return False
  return True

print(isNumber(d))
print(isNumber(e))

Aqui teremos mais flexibilidade quanto as entradas, veja a saída deste código:

True
False

Basta então você escolher a quem tem mais aplicabilidade na sua regra de negócios

E seu pudesse te indicar alguma maneira, ficaria com a primeira

Já que é uma alternativa nativa do próprio Python e com certeza te proporcionará melhor performance que a nossa função com o try

Sempre opte por alternativas da linguagem que você está utilizando e sempre busque funções nativas para o que está tentando fazer, deve haver algo já criado ou semelhante

Conclusão

Neste artigo vimos como verificar se o valor de uma variável string é número

De uma maneira mais simples com o isdigit, porém não abrange floats

E outra por meio de uma função que trata qualquer tipo de entrada, retornando valores para pontos flutuantes também

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x