AppDividend
Latest Code Tutorials

How To Convert Python String to Int and Int to String

1

In this tutorial, we will see How To Convert Python String to Int and Int to String. Just like the str() built-in function, Python also offers a handy built-in which takes a String object as an argument and returns an integer object. Python defines the type conversion functions to directly convert one data type to another data type which is useful in day to day competitive programming. The int() function is a Python standard built-in function to convert the string into an integer value.

You call it with the string containing the number as the argument, and it returns the number converted to an integer.

Content Overview

#How To Convert Python String to Int

Python defines type conversion functions to directly convert one data type to another which is useful in day to day and competitive programming. This article is aimed at providing information about certain conversion functions.

We can use the type function to get the data type of any variable. See the following example.

# app.py

amp = '123'
print(type(amp))

eli = 'The Computer Guy'
print(type(eli))

num = 1234
print(type(num))

ser = [1, 2, 4]
print(type(ser))

dict = {1: 'Android', 2: 'iOS', 3: 'Symbian'}
print(type(dict))

We have taken the different types of variables and printed on the Python Console. See the following output.

How To Convert Python String to Int

Just like the str() built-in, Python also offers a handy built-in which takes a String object as an argument and returns the corresponding integer object.

If you want to convert the number that is represented in a string to int, you have to use the int() function to do so. See the following example.

# app.py

amp = '123'
print(type(amp))

convertedInt = int(amp)
print(type(convertedInt))
print(convertedInt)

See the below output.

How To Convert Python String to Int and Int to String

We have converted the String into an Integer.

#Converting String to Int from different base

If the string you want to convert into int belongs to a different number base other than base 10, then you can specify that base for that conversion. But one thing, you need to keep in mind that the output integer is always in base 10. 

Another thing you need to remember is that a given base must be in between 2 to 32.  See the following example.

# app.py

amp = '123'
print(type(amp))

convertedInt = int(amp)
print(type(convertedInt))
print(convertedInt)

convertedInt8 = int(amp, base=8)
print(type(convertedInt))
print(convertedInt)

convertedInt16 = int(amp, base=16)
print(type(convertedInt16))
print(convertedInt16)

convertedInt32 = int(amp, base=32)
print(type(convertedInt32))
print(convertedInt32)

See the below output.

Converting String to int from different base

While converting from string to int, you may get ValueError exception. The ValueError exception occurs if the string you want to convert does not represent any numbers. If you’re going to convert the hexadecimal number to an integer, then you did not have to pass the argument base=16 in the int() function. It will raise the ValueError exception if there is any digit that does not belong to a decimal number system.

You should remember some of the special cases:

  1. The floating-point(an integer with a fractional part) as an argument will return the float rounded down to the nearest whole integer. For example: print(int(11.21)) will print 7. Also print(int(“11.21”))  will result in the error since the string is an invalid argument to convert to an integer.

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '11.21'
  2. Also, any integer in words, if given as the argument, will return a same error as above: print(int(“eleven”))  will give an error as follows.

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

#Convert Python Int to String Tutorial

You can use the str() function to convert an integer to the String in Python. See the below example.

# app.py

hexValue = 0x2f22
print(hexValue)
print(type(hexValue))
hexValue = str(hexValue)
print(hexValue)
print(type(hexValue))

See the output below.

Convert Python Int to String Tutorial

See another example of Int to String conversion in Python.

# app.py

digit = 1921
print(digit)
print(type(digit))
digit = str(digit)
print(digit)
print(type(digit))

Convert Python Int to String Tutorial Example

#Converting a decimal string into a float number

You may use a float class for converting the decimal string to float number. See the following example for demonstration.

# app.py

eleven = '11.21'
hopper = 19.21

el = float(eleven) + hopper
print ("The value of el = ",el)

See the following output.

➜ pyt python3 app.py
The value of el = 30.42
➜ pyt

#Converting string numbers in a Python list to integers

If you intend to convert the string numbers contained in the python list, then one of the ways to convert those strings into an int is using a list comprehension.

A new list will be created where you may use the int in each iteration, as shown in the example below.

# app.py

str_list = ['11', '19', '21']
int_list = [int(a) for a in str_list]
print (int_list)

See the following output.

➜  pyt python3 app.py
[11, 19, 21]
➜  pyt

#Converting a string to int with commas

What about string numbers with commas like “11,000,000”. If you try to convert this string by using an int or float, it will generate the error because of the commas.

The solution of above error is by importing locale.

import locale

Now, you can use the USA locale setting like the following.

locale.setlocale( locale.LC_ALL, "en_US.UTF-8")

However, this may cause problems with the different locations.

So, one other solution is to replace the comma by nothing. For example, see the code below.

# app.py

elevenmillion = '11,000,000'
eleven = int(elevenmillion.replace(',',''))

print ("The integer value", eleven)

See the following output.

➜  pyt python3 app.py
The integer value 11000000
➜  pyt

Finally, How To Convert Python String to Int and Int to String Tutorial With Example is over.

1 Comment
  1. Hiral says

    Thanks for posting, this article was very helpful when converting string to int and vice versa. I came across a similar post though it was certainly not quite as thorough as this!

    Thanks again,

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.