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.
- Why would you need to convert a String to Float in Python?
- Solution: Using the float() function
- Limitation and Caveats
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.
In this solution, we use the most common method to convert any data type including a string to float in Python;
Syntax of float():
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))
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.
float(), values of other data types can be converted into integers and strings using the
f1 = int("1") //output: 1 f2 = int(12.3) //output: 12 f3 = str(123) //output: "123" f4 = str(12.3) //output: "12.3"
- As mentioned earlier, the string should contain a float value else
- If the number outside the range of a floating variable it would return
- And lastly if the no value is passed as an argument it returns 0.0