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

Blockchain in Elections: A Leap Toward Transparent Democracy

In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…

4 months ago

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…

6 months 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…

8 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…

11 months ago

Highest Stable Coin Yields – (W16 – 2024)

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

12 months ago

LEDU Token OTC Trading

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

1 year ago