Python – Como transformar uma String para Float or Int

No Python, para transformar uma string em Int ou Float, respondendo de forma simples, pode-se se utilizar as seguintes linhas:
“57” para int:
|
“23.578” para float:
float(“23.578”)
|
Estas linhas funcionam quando você sabe exatamente como é a origem dos dados. Algumas vezes, porém, é necessário saber qual o tipo de dado a string contém. Vamos aprofundar a resposta tratando alguns desses casos diferentes.
Verificar se o valor da string é um int ou float no Python
Caso se utilize o método para conversão em inteiro numa string que possui valores com casas decimais, ele retornará um erro. Portanto, podemos utilizar o código abaixo para transformar uma string num int ou float, de acordo com o tipo de valor da string:
def num(s):
return int(s)
except ValueError:
return float(s)
|
Muito cuidado com este código, porque ele estará misturando dois tipos de números, o que pode causar problemas em operações posteriores.
Para converter um float em int
Caso seja necessário posteriormente converter o float criado num int, pode-se utilizar a linha abaixo:
int(float(s))
|
No exemplo abaixo vemos o que ela faz:
a = “273.557”
int(float(a))
|
Para arredondar um float na conversão para int
O método acima simplesmente desconsidera os valores decimais. Para que eles sejam levados em conta, é necessário utilizar a seguinte linha:
int(round(float(s)))
|
Isto indica ao sistema que ele deve fazer um arredondamento. Ele sempre irá arredondar para baixo. Caso você queria um arredondamento para cima, faça algo do tipo:
int(round(float(s + 0.5)))
|
Para fazer a transformação de uma lista de strings
Caso você saiba exatamente o tipo de entrada na string, e ela vier num formato de lista, você pode fazer a transformação de todas utilizando o código abaixo:
x = [“527.1”, “237.23”, “876.54”]
map(float, x)
[527.1, 237.23, 876.54]
|
Ele funciona também para o int.
Caso você conheça mais alguma forma de fazer esta conversão, compartilhe na área de comentários abaixo.
Agora que você descobriu a resposta para esta pergunta, e quiser explorar outras questões, pode conferir nossos vídeos sobre Python. Abaixo estão alguns exemplos:
Você também pode se inscrever em alguns canais que fazem broadcast em Python, como os a seguir:
Outra maneira interessante de descobrir mais coisas interessantes sobre Python é acessar nossa página de projetos
Source: https://educationecosystem.com/blog/python-como-transformar-string-para-float-ou-int/