Register Login

ValueError: could not convert string to float

Updated Jan 14, 2020

Why ValueError: could not convert string to float?

In Python, you may encounter the error called "ValueError could not convert string to float". This occurs when you want to convert a string value to a float but are unable to do so. The best way to solve this issue is to provide the correct values as input or use the float() to convert the value into a float value.

Here is an example of a program where this error is encountered:

# Take input from the user
num1 = (input("Please enter a number: "))

# convert an input value to float
num1 = float(num1)

print('Float of input number is: ', num1)

In this program, if the value passed as input to the variable number is 7, then the output will be 7.0. This is because the value is converted into a float value. If 67 is passed, the output will be 67.0. But in case the input is a string such as “stechies”, then the ValueError is raised.

Python is able to convert a string to a float using the float() function. But it cannot convert some text such as “My name is RAM” into a float value. Another way to handle this error is given below:

# Use exception handling
try:
    # Input number from user
    num1 = (input("Please number: "))

    # Convert input value to float
    num1 = float(num1)
    print('Float of input number is: ', num1)

except ValueError:
    print("Error, that was not a number, please try again")

Using the try-catch block, you can throw an error if the user enters a text and wants it to be converted into a float. In that case, the "error, that was not a number, please try again" will be displayed.   


×