[toc]
Quick Fix: Python’s built-in str(x)
method converts an integer object x
to a string object by using the x.__str__()
method.
β Introduction
Problem Formulation: Given a string
object in Python, what are the ways to convert it to an Integer
type?
Example:
# This is an integer x = 13 print("x is of type", type(x)) # Converting integer to string y = str(x) print("y is of type", type(y))
Output:
x is of type <class 'int'> y is of type <class 'str'>
Let us have a look at an example where converting an integer becomes a defining factor in your code.
Scenario: Concatenate a string and an integer.
version = 3 lang = 'Python' print(lang+version) # Desired Output: Python3
Actual Output:
Traceback (most recent call last): File "D:/PycharmProjects/PythonErrors/int2string.py", line 3, in <module> print(version+lang) TypeError: unsupported operand type(s) for +: 'int' and 'str'
Explanation: The usage of the +
operator to concatenate a string and integer is not allowed in Python. Thus, Python throws a TypeError: unsupported operand type(s) for +: 'int' and 'str'
in this case.
The solution to this problem is to convert the integer object to a string object and then concatenate the two strings as shown in the solution below.
Solution:
version = 3 lang = 'Python' print(lang+str(version)) # Output: Python3
Before moving on to the solutions, I highly recommend you to go through the type conversion techniques explained in this tutorial.
Now, without further ado, let us dive into the solutions to our mission-critical question – “How to convert an integer to a string in Python?“
β€ Method 1: Using The str() Method
Pythonβs built-in str(x)
function converts the object x
to a string using the x.__str__()
method or, if non-existent, the repr(x)
built-in function to obtain the string conversion.
- The
str()
method returns a string type of an object. The object can be char, integer, etc. The str() method returns a string type of an object. The object can be char, integer, or a string.
Syntax:
str(object)

Example:
num_int = 2500 num_str = str(num_int) print("num_str: ", num_str) print("Type of num_float: ", type(num_int)) print("Type of num_str: ", type(num_str))
Output:
num_str: 2500 Type of num_float: <class 'int'> Type of num_str: <class 'str'>
Related Video:
β€Β Method 2: Using The format() Function
We can use the format()
method in Python, for converting integers to strings. This method permits you to set placeholders inside a string and then convert any other data type (integer, float) to a string and fill the placeholders. Curly brackets β{} β are used to define the placeholders.
Syntax
"{}" .format (int)
Example:
# This is an integer y = 20 print("The value of y is", y) print("Initially the number is of type", type(y)) # Converting integer to string using format() y = "{}".format(y) print("The number is of type", type(y), "after conversion.")
Output:
The value of y is 20 Initially the number is of type <class 'int'> The number is of type <class 'str'> after conversion.
β€ Method 3: Using String Conversion %s
Python utilizes two unique styles of string formatting: the oldest style that depends on the modulo operator (%), and the more up-to-date Python 3 style that utilizes the format function. (As seen in method 2).
- Python’s old standard string conversion method uses the modulo operator (the percent sign %) as a unique symbol to demonstrate the various types of formats.
- The conversion specifiers, for example, %s and %d show up in the format string as placeholders.
- These specifiers direct how the operation will format the values.
- %s is used for string conversion.
Example:
# This is an integer no = 2 print("Initially the value of the number is", no) print("The number is of type", type(no)) # Converting integer to string using %s conv = "% s" % no print("The number is of type", type(conv), "after conversion.")
Output:
Initially the value of the number is 2 The number is of type <class 'int'> The number is of type <class 'str'> after conversion.
β€ Method 4: Using f-strings
f-strings are supported in Python 3.6 or higher versions. It is represented by string literals that have an f as a prefix and curly braces containing the expressions. The variables in the expression get replaced by the values during evaluation at runtime.
Syntax:
f'{ int }'
Example:
# This is an integer x = 50 print("The value of the number is", x) print("The number is of type", type(x)) # Converting integer to string using f strings y = f'{x}' print("The value of the number remains", y) print("The number is of type", type(y), "after conversion.")
Output:
The value of the number is 50 The number is of type <class 'int'> The value of the number remains 50 The number is of type <class 'str'> after conversion.
β€ Method 5: Using a Custom Method
Another workaround, that deserves to be mentioned is a user-defined custom method that converts the integer object to a string object as shown in the following example.
Example:
def convert(x, type_): x = type_(x) return x num = 25 print("Initially type of num : ", type(num)) print("Type of num after conversion: ", type(convert(num, str)))
Output:
Initially type of num : <class 'int'> Type of num after conversion: <class 'str'>
β Conclusion
Thus, the following methods can be used to convert an integer to a string in Python:
- The
str()
built-in method. - The
format()
Function. - String Conversion using β%sβ.
- Using f-strings.
- Defining a Custom function.
I hope this article helped you. Please subscribe and stay tuned for more interesting articles in the future.
Authors : SHUBHAM SAYON and RASHI AGARWAL
Recommended Course:
- Do you want to master the most popular Python IDE fast?
- This course will take you from beginner to expert in PyCharm in ~90 minutes.
- For any software developer, it is crucial to master the IDE well, to write, test and debug high-quality code with little effort.