How to convert Float to Int in Python?

Converting a float value to an int is done by Type conversion, which is an explicit method of converting an operand to a specific type. However, it is to be noted that such type of conversion may tend to be a lossy one (loss of data). Converting an int value like 2 to floating-point will result in 2.0, such types of conversion are safe as there would be no loss of data, but converting 3.4 to an int value will result in 3 leading to a lossy conversion. 
Examples: 

Input:  3.3 
Output: 3 

Input:  5.99
Output: 5

Method 1: Conversion using int():

To convert a float value to int we make use of the built-in int() function, this function trims the values after the decimal point and returns only the integer/whole number part.

Syntax: int(x) 

Return: integer value



Example 1: Number of type float is converted to a result of type int.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# conversion from float to int
  
num = 9.3
  
# printing data type of 'num' 
print('type:'
      type(num).__name__)  
  
# conversion to int
num = int(num)   
  
# printing data type of 'num' 
print('converted value:', num, 
      ', type:', type(num).__name__)

chevron_right


Output:

type: float
converted value: 9 , type: int

Example 2: In most cases the int() function rounds off the result to an integer lesser than or equal to the input, but the behavior is neither definite nor predictable. One such example is shown below.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# example of unpredictable 
# behaviour of int()
  
num1 = 5.9
num2 = 5.99999999999999999999
  
num1 = int(num1)
num2 = int(num2)
  
print(num1, num2, sep = '\n')

chevron_right


Output:

5
6

Method 2: Conversion using math.floor() and math.ceil().

A float value can be converted to an int value no larger than the input by using the math.floor() function, whereas it can also be converted to an int value which is the smallest integer greater than the input using math.ceil() function. The math module is to be imported in order to use these methods.

Syntax: math.floor(x)

Parameter:



x: This is a numeric expression.

Returns: largest integer not greater than x.

Syntax: math.ceil(x)

Parameter:

x: This is a numeric expression.

Returns: Smallest integer not less than x.

Example : In the below example conversion from float to int has been achieved using the floor() and ceil() methods, the former returns an int no larger than the input and the latter returns the smallest integer larger than the input.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# conversion using floor and ceil .
  
# importing math module
import math       
  
num = 5.6
  
floor_value = math.floor(num)
  
ceil_value  = math.ceil(num)
  
print("the result using floor() : ",
      floor_value , 
      ', type : ',type(floor_value).__name__)
  
print("the result using ceil()  : ",
      ceil_value,
      ', type: ', type(ceil_value).__name__)

chevron_right


Output:

the result using floor() :  5 , type :  int
the result using ceil()  :  6 , type:  int



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.