No Python, para transformar uma string em Int ou Float, respondendo de forma simples, pode-se se utilizar as seguintes linhas:
"57" para int: int("57") 57
"23.578" para float: float("23.578") 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.
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): try: 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.
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" float(a) 273.557 int(float(a)) 273
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)))
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
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
It’s another week and like always we have to explore the top yield platforms for…