Invalid literal for int with base 10 in Python

Invalid literal for int with base 10 in Python

The "invalid literal for int() with base 10" error in Python occurs when you try to convert a string value to an integer, but the string is not a valid integer representation. Here is an example of how this error might occur:

>>> int("123.45")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '123.45'

Resolving: Invalid literal for int with base 10

To resolve this error, you need to make sure that the string you are trying to convert to an integer is a valid integer representation. One way to do this is to use the isdigit() method to check if the string contains only digits:

>>> s = "123.45"
>>> if s.isdigit():
...     int_value = int(s)
... else:
...     print("Invalid integer representation:", s)
...
Invalid integer representation: 123.45

Alternatively, you can use the try and except statements to handle the error gracefully:

>>> s = "123.45"
>>> try:
...     int_value = int(s)
... except ValueError:
...     print("Invalid integer representation:", s)
...
Invalid integer representation: 123.45

If the string contains a decimal point or other non-numeric characters, you can use the float() function to convert it to a floating-point number, or use string manipulation techniques to remove the non-numeric characters before trying to convert it to an integer.

The float() function in Python is used to convert a value to a floating-point number. It can be used to convert integers, strings, and other data types to floating-point numbers.

Here are some examples of how the float() function can be used:

# Convert an integer to a float
x = float(3)
print(x)  # Output: 3.0

# Convert a string to a float
y = float("3.14")
print(y)  # Output: 3.14

# Convert a boolean value to a float
z = float(True)
print(z)  # Output: 1.0

If the value passed to the float() function is not a valid representation of a floating-point number, a ValueError exception will be raised.

# Convert an invalid string to a float
a = float("abc")
# Output: ValueError: could not convert string to float: 'abc'

Related: