6 Methods to Convert String to Int in Python

Deepsandhya Shukla 05 Feb, 2024 • 3 min read

Introduction

Converting a string to an integer is a common task in Python programming. It allows us to manipulate and perform mathematical operations on numeric values stored as strings. This fundamental task opens the gateway to a domain where manipulation and mathematical prowess converge, enabling you to unleash the true potential of your code. In this article, we will explore various methods to convert a string to an integer in Python, along with examples and best practices.

Convert String to Int in Python

Methods to Convert String to Int in Python

Using the int() Function

Python’s most straightforward method of converting string to int uses the int() function. This function takes a string as input and returns the corresponding integer value. Here’s an example:

string_num = "123"
int_num = int(string_num)
print(int_num)

Output

123

Using the ast.literal_eval() Function

Another method to convert a string to an integer is using the ast.literal_eval() function from the ast module. This function evaluates the given string as a Python literal and returns the corresponding value. Here’s an example:

import ast
string_num = "456"
int_num = ast.literal_eval(string_num)
print(int_num)

Output

456

Converting a String with Decimal Points

If the string represents a floating-point number, the float() function can be used to convert it to a float first, and then the int() function can be used to truncate the decimal part. Here’s an example:

string_num = "7.89"
int_num = int(float(string_num))
print(int_num)

Output

7

Using the numpy.astype() Function

If you are working with arrays or matrices, you can use the numpy.astype() function to convert a string to an integer. This function converts the elements of an array to the specified data type. Here’s an example:

import numpy as np
string_num = "101"
int_num = np.array([string_num]).astype(int)
print(int_num)

Output

[101]

Using Regular Expressions

Regular expressions can extract numeric values from a string and convert them to integers. This method is useful when the string contains non-numeric characters that must be removed before conversion. Here’s an example:

import re
string_num = "12abc34"
int_num = int(re.sub("[^0-9]", "", string_num))
print(int_num)

Output

1234

Using Custom Conversion Functions

In some cases, you may need to perform custom conversions based on specific requirements. You can define your own conversion functions to handle such scenarios. Here’s an example:

def custom_conversion(string_num):
    # Custom logic to convert string to int
    return int(string_num)
string_num = "567"
int_num = custom_conversion(string_num)
print(int_num)

Output

567

If you want to learn more about Python, then explore: Introduction to Python.

Here are a few more examples to Convert String to Int in Python

Handling Invalid String Inputs

A ValueError will be raised during conversion if the string contains non-numeric characters. To handle such cases, you can use exception handling. Here’s an example:

string_num = "abc"
try:
    int_num = int(string_num)
    print(int_num)
except ValueError:
    print("Invalid input")

Output

Invalid input

Converting a String with Leading Zeros

The int() function automatically removes the leading zeros when the string starts with one or more zeros. Here’s an example:

string_num = "000456"
int_num = int(string_num)
print(int_num)  # Output: 456

Also read: 5 Methods to Convert List to String Python

Best Practices to Convert String to Int in Python

Here are some best practices and performance considerations to convert string to Int in Python:

Handling Large Numbers

When dealing with large numbers, it is important to ensure that the conversion method can handle them without losing precision. Python’s int() function can handle arbitrarily large integers, making it suitable for such scenarios.

Choosing the Right Conversion Method

The choice of conversion method depends on the specific requirements of your program. Consider factors such as performance, input validation, and handling of non-numeric characters when selecting the appropriate method.

Conclusion

Converting a string to an integer is a fundamental operation in Python programming. This article explored various methods, including using built-in functions, regular expressions, and custom conversion functions. We also discussed examples and best practices for handling scenarios and optimizing performance. You can effectively convert strings to integers in your Python programs by understanding these techniques.

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit,

Responses From Readers

Clear