Python math.floor() Method



The Python math.floor() method is used to calculate the nearest value that is not larger than the specified number. For example, the floor value of the floating-point number 2.3 is 2.

The process involved is almost similar to the estimation or rounding off technique. The difference occurs when the floor value of 2.3 is 2, but the floor value of 2.9 will also be 2; unlike the estimation technique which rounds off 2.9 to 3 instead of 2.

Note − This function is not accessible directly, so we need to import math module and then we need to call this function using math static object.

Syntax

Following is the syntax for the Python math.floor() method −

math.floor( x )

Parameters

  • x − This is a numeric object.

Return Value

This method returns largest integer smaller than x.

Example

The following example shows the usage of the Python math.floor() method. In here, we are creating two numeric objects with positive and negative values, and floor values for both these objects are calculated using this method.

import math   # This will import math module

# Create two numeric objects x and y
x = 56.17
y = -33.89

# Calculate and display the floor value of x
res = math.floor(x)
print("The floor value of x:", res)

# Calculate and display the floor value of y
res = math.floor(y)
print("The floor value of y:", res)

When we run above program, it produces following result −

The floor value of x: 56
The floor value of y: -34

Example

However, this method will not accept any value as its argument other than numeric objects.

In this example, let us try to pass a list containing numeric objects as an argument to this method and check whether it calculates the floor values for all of them or not.

import math   # This will import math module

# Create a list containing numeric objects
x = [15.36, 56.45, 76.33, 6.04]

# Calculate the floor value for the list
res = math.floor(x)
print("The floor value of x:", res)

On executing the program above, a TypeError is raised as follows −

Traceback (most recent call last):
  File "main.py", line 7, in 
res = math.floor(x)
TypeError: must be real number, not list

Example

To return the floor values of the numeric objects in a list using this method, loop statements can be used.

We are creating a list that contains number objects, whose floor values are to be calculated using the floor() method. Then, we are trying to iterate this list using a for loop; and for every iteration, a number object is passed as an argument to this method. Since the objects in the list are all numbers, the method will not raise an error.

import math   # This will import math module

# Create a list containing numeric objects
x = [15.36, 56.45, 76.33, 6.04]
ln = len(x)

# Calculate the floor value for the list
for n in range (0, ln):
   res = math.floor(x[n])
   print("The floor value of x[",n,"]:", res)

Now let us execute the program given, the result is displayed as follows −

The floor value of x[ 0 ]: 15
The floor value of x[ 1 ]: 56
The floor value of x[ 2 ]: 76
The floor value of x[ 3 ]: 6

Example

We can implement this function in a lot of real-world applications of Python.

For example, we can try to retrieve the integer part and decimal part of a fractional number. To do that, we are creating an object with a float value. This object is passed as an argument to the floor() method, in order to retrieve the integer part of this number; whereas calculating the modulus of this number using 1 will retrieve its decimal part.

import math   # This will import math module

# Create a float object
x = 123.65

# Using floor() method, retrieve its integer part
int_part = math.floor(x)

# Calculate the modulus of x by 1 to retrieve the decimal part
dec_part = x % 1

# Display the results
print("The integer part of x is:", int_part)
print("The decimal part of x is:", dec_part)

On executing the program above, the result is produced as follows −

The integer part of x is: 123
The decimal part of x is: 0.6500000000000057
python_maths.htm
Advertisements