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:

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.

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):

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.

 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"

float(a)

273.557

int(float(a))

273

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

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

Recent Posts

Win Big with Our Amazon Fire Max 11 & AirPods Pro Giveaway!

We’re thrilled to announce an exciting opportunity for you to win not one but two…

1 month ago

Unleashing Potential: How Education Ecosystem Transforms Learning into Real-World Success

Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…

3 months ago

The Role of Artificial Intelligence in Modern Software Development

Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…

6 months ago

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

7 months ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

8 months ago

Highest Stable Coin Yields – (W12 – 2024)

It’s another week and like always we have to explore the top yield platforms for…

8 months ago