Python Convert String to Integer

In this tutorial you’ll see two ways to convert string to integer in python.

As we know we don’t have to declare the datatype while declaring variables in Python. As python will assign a datatype according to our data stored in the variable. But when we’re working with GUI (graphical user interface) then the value fetched from a textbox will be a string by default and or we’re taking value from user using raw_input() method (in Python 2.x) and input() method (in Python 3.x), then that value will also be a string by default. To change that string into a int type variable, we can use two different methods as given below.

Let’s say our program is:

#program to add two numbers in python 3
number1 = input("enter number 1:")
number2 = input("enter number 2:")
sum = number1 + number2
print("sum = " + sum)

Output: 

enter number 1:  40

enter number 2:  50

sum  = 4050

As we can see in above program the input() method returns a string that’s why the result stored in sum is 4050 (concatenation of two strings) instead of 90. To get the addition of number1 and number2 we have to convert both the numbers into int.

Python Convert String to Integer

Method 1: Using int()

#program to add two numbers in python 3
number1 = input("enter number 1:")
number2 = input("enter number 2:")
sum = int(number1) + int(number2)
print("sum = " , sum)

Output:

enter number 1: 40

enter number 2: 50

sum = 90

In above program we’re using int() method to convert string to int. We can also use float() method to convert it into a float variable.

On other hand, to convert all the string items in a list into int we can use int() method as follows.

#convert string into int
list1 = ['1', '2', '3', '4', '5', '6']
print(list1)
list2 = [int(x) for x in list1]
print(list2)

Output:

[‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]

[1, 2, 3, 4, 5, 6]

Method 2: Using Decimal()

#program to add two numbers in Python 3
import decimal
number1 = input("enter number 1:")
number2 = input("enter number 2:")
sum = decimal.Decimal(number1) + decimal.Decimal(number2)
print("sum = " , sum)

Output:

enter number 1: 40

enter number 2: 50

sum = 90

Decimal() method provides certain methods to perform faster decimal floating point arithmetic using the module decimal like sqrt() method or exp() method but as still we can use it to convert a string to int in python.

If you’ve any problem related to above article, let us know by commenting below.

1 thought on “Python Convert String to Integer”

  1. Vasile Mironeasa

    Hi Neeraj
    I believe that You must be thinking like a computer all the time . I think you have a great mind Neeraj , congratulations for all tutorials you write !

Leave a Comment

Your email address will not be published. Required fields are marked *