Convert a Python String to int
In Python, we can use int() method to convert a String to int.int(str)

When programming, there are times you need to convert values between types in order to manipulate values in a different way. Python defines type conversions directly to convert one data type to another which is useful in day to day and competitive development.
Python String to int
A String is a sequence of one or more characters. Integers are whole numbers. In other words, they have no fractional component. In Python, Strings can be converted to Int by using the built-in function int() method . Syntax
int(str,base)
Base specifies the base in which string is if data type is string.
example
str = "111"
num = int(str)
print(num)
num = num +1
print(num)
print("Type of str : " , type(str))
print("Type of num : " , type(num))
output
111
112
Type of str : <class 'str'>
Type of num : <class 'int'>
Number Bases
A number base is the number of digits or combination of digits that a system of counting uses to represent numbers . A base can be any whole number greater than 0. The most commonly used number system is the decimal system, commonly known as base 10 .String to int from different base
The method int(str,base) , second argument is base. If the string you want to convert into int belongs to different number base other that base 10, you can specify the base for conversion. But remember that the output integer is always in base 10 .
str = "111"
print(str)
#convert from base 10
print("Base 10 to base 10: " , int(str))
#convert from base 8
print("Base 8 to base 10: " , int(str, base=8))
#convert from base 6
print("Base 6 to base 10: " , int(str, base=6))
output
111
Base 10 to base 10: 111
Base 8 to base 10: 73
Base 6 to base 10: 43
ast.literal_eval(node_or_string)
You can convert a Python string to an int by using ast.literal_eval() . This can be used for safely evaluating strings containing Python values from untrusted sources without the need to parse the values oneself. It is not capable of evaluating arbitrarily complex expressions , for example involving operators or indexing.
Handling malformed strings
Some strings do not represent valid numbers . If you try to convert such a string, you will get an exception:
How to fix?
You can solve this invalid literal for int() with base 10 by using Python isdigit() method to check whether the value is number or not. The returns True if all the characters are digits, otherwise False.
num = "55.55"
if num.isdigit():
print(int(num))
else:
print("String value is not a digit : " , num)
output
String value is not a digit : 55.55
Related Topics
- How to use Date and Time in Python
- Python Exception Handling
- How to Generate a Random Number in Python
- How to pause execution of program in Python
- How do I parse XML in Python?
- How to read and write a CSV files with Python
- Threads and Threading in Python
- Python Multithreaded Programming
- Python range() function
- Python filter() Function
- Difference between range() and xrange() in Python
- How to print without newline in Python?
- How to remove spaces from a string in Python
- How to get the current time in Python
- Slicing in Python
- Create a nested directory without exception | Python
- How to measure time taken between lines of code in python?
- How to concatenate two lists in Python
- How to Find the Mode in a List Using Python
- Difference Between Static and Class Methods in Python?