72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: How to Convert Strings into Integers in Python
 | 
						|
---
 | 
						|
## How to Convert Strings into Integers in Python
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
#### Example Usage:
 | 
						|
 | 
						|
```py
 | 
						|
# Here age is a string object
 | 
						|
age = "18"
 | 
						|
print(age)
 | 
						|
# Converting string to integer
 | 
						|
int_age = int(age)
 | 
						|
print(int_age)
 | 
						|
```
 | 
						|
Output
 | 
						|
```py
 | 
						|
18
 | 
						|
18
 | 
						|
```
 | 
						|
Here although the output is visually similar but you should keep in mind that the first line prints a string object while the line next to it prints a integer object which is further illustrated in the next example:
 | 
						|
 | 
						|
```py
 | 
						|
age = "18"
 | 
						|
print(age+2)
 | 
						|
```
 | 
						|
Output:
 | 
						|
```py
 | 
						|
Traceback (most recent call last):
 | 
						|
  File "<stdin>", line 1, in <module>
 | 
						|
TypeError: cannot concatenate 'str' and 'int' objects
 | 
						|
````
 | 
						|
The error should make it clear to you that you need to convert the `age` object to an integer before adding something to it.
 | 
						|
 | 
						|
```py
 | 
						|
age = "18"
 | 
						|
age_int = int(age)
 | 
						|
print(age_int+2)
 | 
						|
```
 | 
						|
Output:
 | 
						|
```py
 | 
						|
20
 | 
						|
```
 | 
						|
 | 
						|
But you should keep in mind some special cases:
 | 
						|
 | 
						|
1. A floating point(an integer with fractional part) as an argument will return the float rounded down to the nearest whole integer.
 | 
						|
   For example : `print(int(7.9))` will print `7`.
 | 
						|
   Also `print(int("7.9"))` will result an error since the string is an invalid argument to convert to an integer.
 | 
						|
 | 
						|
   ```py
 | 
						|
   Traceback (most recent call last):
 | 
						|
      File "<stdin>", line 1, in <module>
 | 
						|
    ValueError: invalid literal for int() with base 10: '7.9'
 | 
						|
   ```
 | 
						|
 | 
						|
2. Also any integer in words if given as an argument will return the same error as above:
 | 
						|
   `print(int("one"))` will give an error as follows:
 | 
						|
   
 | 
						|
    ```py
 | 
						|
    Traceback (most recent call last):
 | 
						|
      File "<stdin>", line 1, in <module>
 | 
						|
    ValueError: invalid literal for int() with base 10: 'one'
 | 
						|
    ```
 | 
						|
 | 
						|
#### More Information:
 | 
						|
Official documentation for `int()` built-in can be found <a href='https://docs.python.org/3.6/library/functions.html#int' target='_blank' rel='nofollow'>here</a>
 | 
						|
 | 
						|
 |