Python Type Casting
In Python, Type Casting is a process in which we convert a literal of one type to another.
Inbuilt functions int(), float() and str() shall be used for typecasting.
- int() can take a float or string literal as argument and returns a value of
class 'int'
type. - float() can take an int or string literal as argument and returns a value of
class 'float'
type. - str() can take a float or int literal as argument and returns a value of
class 'str'
type.
In this tutorial, we shall learn how to type cast a literal between integer, float, and string.
Type Cast int to float and string
In this example, we shall take an integer literal assigned to a variable. Then we shall typecast this integer to float using float() function. Next, we shall typecast the integer to string using str().
We shall print both the value and type of the float and string variables.
Python Program
#integer
n = 100
#float
f = float(n)
print(f)
print(type(f))
#string
s = str(n)
print(s)
print(type(s))
Output
Run the above Python program, and you shall see the following output printed to the console output.
100.0
<class 'float'>
100
<class 'str'>
Type Cast float to int and string
In the following program, we shall initialize a variable with float value. In the next statement, we typecast this float to integer using int(). Later we typecast the float to string.
Python Program
#float
f = 100.05
#integer
n = int(f)
print(n)
print(type(n))
#string
s = str(f)
print(s)
print(type(s))
Output
100
<class 'int'>
100.05
<class 'str'>
The decimal value is gone when you typecast float to int.
Type Cast string to int and float
In this example, we shall use int() and float() to typecast a string literal to integer and float.
Python Program
#string
s = '132.65'
#typecast to integer
n = int(s)
print(n)
print(type(n))
#typecast to float
f = float(s)
print(f)
print(type(f))
Output
Run the above Python program and you shall see that the string is typecasted to integer and float.
132
<class 'int'>
132.0
<class 'float'>
Note: Please note that, if you have decimal point in the string, you cannot typecast that directly to an integer. You should first typecast string to float and then that to integer. Following is a quick code snippet for the same.
#string
s = '132.564'
#typecast to integer
n = int(float(s))
Summary
In this tutorial of Python Examples, we learned how to typecast one datatype to another in between integer, float and string. Also, well detailed examples are provided to demonstrate the typecasting.