Weekly letter pythonprogramming.email
Hi,
To get the curated list of awesome python articles from all over the Internet, please subscribe with pythonprogramming.email. This is specifically suitable for beginners.
Advertise with us
error   0   3905
Solving python error - ValueError: invalid literal for int() with base 10


We can get this error when trying to convert a variable to an integer.


Some examples are:

Trying to convert a string to an integer.

rana@brahma:~$ python3
Python 3.5.2 (default, Oct  8 2019, 13:06:37) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(int("dawd"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'dawd'

Trying to convert a float string to an integer.

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


Trying to convert an empty string to an integer.

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



What is int()

int() is the python's inbuilt function which converts the given number or string into an integer. Signature of this function is:

int(x=0)

The default parameter is 0 which is also the default return value if no value is passed.

>>> print(int())
0
>>> 


Also, the default base to convert to is base 10. 

int(x, base=10)

If base is specified, then int() function tries to convert the given parameter to an integer in the given base.

>>> print(int('110', base=2))
6
>>>


If a float is passed to int() function then it returns the truncated value.

>>> print(int(110.10))
110
>>> 



How to avoid this error?

Before trying to convert a suspicious variable to an integer, first, check the type of variable using isinstance method.

>>> isinstance(10, int)
True
>>> isinstance(10, float)
False
>>> isinstance(10.1, int)
False
>>> isinstance(10.1, float)
True
>>> 

Or simply use the try-except block to handle the error.

>>> try:
...     a = int('adwdaw')
... except:
...     print('error in converting the variable')
... 
error in converting the variable
>>> 

If you are trying to convert a float string to an integer, you need to first convert it to float and then to an integer.

>>> text = '101.10'
>>> int(text)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '101.10'
>>> 
>>> f = float(text)
>>> f
101.1
>>> int(f)
101
>>> 




error   0   3905

Related Articles:
Solving Python Error - UnboundLocalError: local variable 'x' referenced before assignment
UnboundLocalError: local variable 'x' referenced before assignment, solved UnboundLocalError in python, reason for UnboundLocalError in python, global vs nonlocal keyword in python, How to solve Python Error - UnboundLocalError: local variable 'x' referenced before assignment, nested scope in python, nonlocal vs global scope in python...
Solving python error - TypeError: 'NoneType' object is not iterable
In this article we are trying to understand what a NoneType object is and why we get python error - TypeError: 'NoneType' object is not iterable, Also we will try different ways to handle or avoid this error, python error NoneType object is not iterable, iterating over a None object safely in python...
Solving Python Error- KeyError: 'key_name'
Solving KeyError in python, How to handle KeyError in python dictionary, Safely accessing and deleting keys from python dictionary, try except Key error in Python...

0 thoughts on 'Solving Python Error - Valueerror: Invalid Literal For Int() With Base 10'
Leave a comment:


*All Fields are mandatory. **Email Id will not be published publicly.

SUBSCRIBE
Please subscribe to get the latest articles in your mailbox.

© 2017-2020 Python Circle   Contact   Sponsor   Archive   Sitemap