DEV Community

loading...

Converting String to Float in Python

hrishikesh1990
Co-founder & CTO at Flexiple & Remote Tools ($1mn+ revenue).
Originally published at flexiple.com Updated on ・2 min read

In this short tutorial, we look at how we can convert a string object into a floating object. We look at different methods and also discuss the limitations faced when you attempt to convert a string to float in Python.

This tutorial is a part of our initiative at Flexiple, to write short curated tutorials around often used or interesting concepts.

Table of Content

Why would you need to convert a String to Float in Python?

Changing data types in Python is a common practice, and Python has provided us with functions to facilitate this. However, one frequently looked up method is converting a string object in Python to a floating object. The most common places where you would come across this is while reading and working with files. In such cases, you would need to convert numerical values from a string into float/ int before you can use any operations.

Similar to the above example you would come across similar instances where you would need to convert a string to float in Python.

Solution: Using the float() function

In this solution, we use the most common method to convert any data type including a string to float in Python; float().

Syntax of float():

float(x)
Enter fullscreen mode Exit fullscreen mode

Parameter

Here x can be an int or a string. It could contain signs, this would not affect the value returned.

Code and Explanation:

f1 = float("123.123")
//output: 123.123
f2 = float("1")
//output: 1.0
f3 = float(1)
//output: 1.0

print(type(f1))
Enter fullscreen mode Exit fullscreen mode

As you can see the above strings were converted into a floating object. The only thing you should keep in mind is that the string should contain a numerical decimal or integer value, only then would the float function be able to convert the string to float.

To check the data types you can use the type() function before and after using the float(). This function returns the data type of the object.

Similar to float(), values of other data types can be converted into integers and strings using the Int(), str().

f1 = int("1")
//output: 1
f2 = int(12.3)
//output: 12

f3 = str(123)
//output: "123"
f4 = str(12.3)
//output: "12.3"
Enter fullscreen mode Exit fullscreen mode

Limitations and Caveats

  1. As mentioned earlier, the string should contain a float value else float() would return ValueError
  2. If the number outside the range of a floating variable it would return OverflowError
  3. And lastly if the no value is passed as an argument it returns 0.0

Discussion (1)

Collapse
hanpari profile image
Pavel Morava

In Czech, we use decimal coma instead of dot. So a typical Czech would write 1,2 instead of 1.2.

In case someone will write a program from foreign users with different cultural conventions, do not forget to take it into account 😁