How to cast an int to a string in python?

In this article, we will explore how to cast an int to a string in Python. Casting involves transforming data from one data type to another, and it’s particularly useful when working on programs that require specific data type handling. In Python, casting allows us to change the type of a variable. One common scenario is converting an integer variable to a string variable, which is especially beneficial when performing operations. Therefore, prior to conducting computations, it’s necessary to convert an integer value into a string. This page will demonstrate how to achieve this conversion with code examples.

If you want to learn more about Python Programming, visit Python Programming Tutorials

Converting an Integer to a String in Python using the str() Method

The str() method offers a simple and straightforward approach to cast an integer to a string in Python. It converts an integer to its string representation. Here’s how you can use this built-in Python method:

a = 78

# Check and print the original variable type before conversion
print("Type of variable before conversion:", type(a))

str_a = str(a)

# Check and print the variable type after conversion
print("Type of variable after conversion:", type(str_a))


Type of variable before conversion: <class 'int'>
Type of variable after conversion: <class 'str'>

In the above code example, the integer 78 is converted into a string using the str() function. The resulting string is stored in the variable str_a. The type() function is used to confirm the change in variable type before and after the conversion. You can also use the _str_() method for casting. It is the same as the str() method and can do the same task.

Using String Concatenation to cast an Int to String

Using the str() method for casting in Python offers several advantages. The str() method allows you to combine different data types, such as integers and strings, in a flexible manner. This is particularly useful when you need to create informative and dynamic output strings. It enables you to insert numerical values into strings for creating customized messages, reports, or other textual outputs.

In essence, the str() method serves as a versatile tool for seamlessly combining integers with strings, thereby enhancing the depth and context of data representation across a wide range of programming contexts. You cannot directly concatenate an integer directly with a string using the + operator. It will raise a TypeError indicating that you can only concatenate strings, not integers as shown in the code below:

a = 29
print("The number is " + a)
TypeError: can only concatenate str (not "int") to str

To successfully concatenate an integer within a string, you must first convert the integer to a string using the str() function.

string= str(a)
print("The number is " + string)
The number is 29

Ensure to convert integer values to strings using the str() function before combining them with text to avoid TypeError issues in Python.

Using f-strings for Dynamic String Casting and Formatting

F-strings, short for formatted string literals, offer a powerful way to incorporate variable values directly into strings. By placing variables within curly braces preceded by the letter ‘f’, you can seamlessly integrate integer variables without the need for the str() function to convert them into strings. This method simplifies the process of combining text and numeric values within strings, offering a flexible approach for constructing dynamic output. Here’s an example of using f-strings for dynamic string casting and formatting:

# Integer variables
price = 99
discount = 20

# Using f-string to format and cast integers into a string
formatted_string = f"The final price after a {discount}% discount is ${price - (price * discount / 100):.2f}."

# Printing the formatted string
The final price after a 20% discount is $79.20.

In this example, f-strings are used to dynamically format and cast the integer variables price and discount into a string, while also performing a calculation to determine the final discounted price. The :.2f within the curly braces ensures that the result is formatted as a floating-point number with two decimal places.

Using Placeholder Method for casting integer to string

Another method is to use placeholders to manipulate and combine different data types within strings for enhanced data representation and output.

Using %d placeholder

In Python, you can insert an integer or numeric value into a string using the %d placeholder. The syntax involves including the %d placeholder within the string you want to print, followed by the % operator for string formatting. You then provide the integer value as an argument within the % operator. Here’s an example demonstrating the use of %d placeholder within the print() command.

model = 2027
print("The car model is %d" % (model))
The car model is 2027

%s placeholder 

Another commonly used placeholder for string formatting is %s placeholder. To use this placeholder, enclose the expression within commas, followed by the % operator. Then provide the numeric or integer values you wish to convert into strings.

name = "Alice"
age = 30
profession = "engineer"

message = "Hello, my name is %s. I am %d years old and I work as an %s." % (name, age, profession)
Hello, my name is Alice. I am 30 years old and I work as an engineer.

Using the .format() Method for Integer to String Conversion

Python offers a convenient way to cast an int to a string using the .format() method. This method provides a flexible and readable approach for string formatting and value insertion. It allows you to create formatted strings by inserting values into placeholders within a string template.

The general syntax of the .format() method is as follows:

formatted_string = "Input {} string{}".format(value1, value2, ...)

In this syntax:

  • formatted_string: This is the string containing placeholders enclosed in curly braces {} that will be replaced with the provided values.
  • value1, value2, …: These are the values you want to insert into the placeholders in the string. They are provided as arguments to the .format() method, following the order of appearance in the string.

The following example demonstrates how you can use format() method to cast an integer to a string in Python.

year_of_birth = 1990

# Check and print the original variable type before conversion
print("Type of variable before conversion:", type(year_of_birth))

# Convert the year_of_birth integer to a string using the .format() method
str_year_of_birth = "{}".format(year_of_birth)

# Check and print the variable type after conversion
print("Type of variable after conversion:", type(str_year_of_birth))
Type of variable before conversion: <class 'int'>
Type of variable after conversion: <class 'str'>

In this example, the year_of_birth integer is converted to a string using the .format() method. The original and converted variable types are checked and printed to demonstrate the conversion process.

Cast an Int to String using Join() Method

The join() method is typically used to convert elements of a sequence (such as a list, tuple, or dictionary) into a string. However, it’s not directly suited for converting integers to strings, as it’s designed for sequences of strings.

To use the join() method for converting an integer to a string, you’ll first need to convert the integer to a string using the str() function. Then, you can place the resulting string inside a sequence like a list or tuple.

Consider a situation where you have a list of student IDs (integers), and you want to create a comma-separated string of these IDs for data reporting:

student_ids = [101, 102, 103, 104]

# Convert student IDs to strings and join them
id_string = ', '.join([str(id) for id in student_ids])

# Output the result
print("Comma-separated student IDs:", id_string)


Comma-separated student IDs: 101, 102, 103, 104

In this example, the student IDs are initially integers within a list. By using a list comprehension, each integer is first converted to a string using the str() function. These converted strings are then joined together using the join() method with a comma and space separator. The resulting id_string holds the comma-separated string of student IDs, suitable for reporting or display purposes.

While the join() method is an interesting alternative for integer to string conversion, it’s worth noting that more direct methods like str(), f-strings, or string formatting are often preferred for their clarity and simplicity.

Using the isdigit() Method for Integer Casting Validation

The isdigit() method can be employed to ascertain whether a string solely consists of digits before performing integer conversion. This method helps prevent errors resulting from non-numeric input. Here’s an example:

# String value
year = "1997"

# Check if the string contains only digits
if year.isdigit():
    int_year = int(year)
    print("Upon successful casting, integer value of string is", int_year)
    print("String contains non-digit characters")


Upon successful casting, integer value of string is 1997

In this example, the string “1997” is assigned to the variable year. The isdigit() method checks if the string solely comprises digits. If it does, the string is converted to an integer using int(year), and the result is printed. If the string contains non-digit characters, an appropriate message is displayed.

Using isdigit() to validate whether a string is composed of digits prior to integer conversion is a recommended practice, as it helps ensure accurate and error-free conversions.


In conclusion, Python offers a versatile array of methods for casting integer data types into strings, catering to diverse programming needs. There are numerous scenarios in which converting an integer to a string is essential. This article has explored various techniques such as the str() function, f-strings, placeholder methods, and join() for achieving this. Each method has its unique strengths and applications, enabling developers to tailor their approach based on specific requirements. With Python’s flexibility, you can seamlessly transform numeric types into string representations, facilitating effective data handling and manipulation.

Leave a Comment

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