Python Ceiling Function: What Is It And How Does It Work?

What is the ceiling function in Python, and how does it work?

The ceiling function in Python is found in the math library and it’s method name is ceil() which takes a sole numeric parameter.

To use the ceiling function in Python you will need to import the math library, like so:

>>> import math
>>> math.ceil(1.6)
2
>>> math.ceil(-2.1)
-2

As you can see from the above Python REPL code the output produces the greatest integer.

If the ceil() function is not obvious on what it does, you could rename the function on import to be more explicit by awarding it it’s proper name – in other words renaming it so that the function is called ceiling() .

If you did want to rename the ceiling function you would need to modify the initial import line to read:

>>> from math import ceil as ceiling
>>> ceiling(1.6)
2
>>> ceiling(-2.1)
2

What Does floor() Do?

What if you wanted the number to round down if it was negative? In other words you wanted the value of -2.2 to round down to -3.

The opposing function to ceil() is floor() . This finds the nearest minimum integer number to the value passed in and is the same process for using ceil() , as demonstrated below:

>>> import math
>>> math.floor(1.99)
1
>>> math.floor(-2.1)
-3

As you can see from the above output with using the floor() method the value returned is the smallest integer if the number can be found between two integers (otherwise if the value is an integer or can be converted to one, like 1.0 can be converted to 1, it retains that value).

Combining the two methods means you can round up positive numbers and round down negative numbers simply by wrapping it all in a one line if statement like so:

>>> import math
>>> def my_round(n):
... return math.ceil(n) if n >= 0 else math.floor(n)
...
>>> my_round(1.99)
1
>>> my_round(-2.1)
-3

As you can see the custom function I’ve written serves the basic purpose of rounding up positive numbers and rounding down negative numbers.

Summary

The Python ceiling function is found in the math library and has the method name ceil().

It takes a number as it’s sole parameter and rounds numbers up.

It’s opposing function is found in the same math library and is known as the floor() method and this rounds numbers down.

If the ceil() method is confusing to remember when you are typing your code you may opt to rename the function on import to ceiling() by changing the import line of the math library to from math import ceil as ceiling .

Photo of author
Ryan Sheehy
Ryan has been dabbling in code since the late '90s when he cut his teeth exploring VBA in Excel. Having his eyes opened with the potential of automating repetitive tasks, he expanded to Python and then moved over to scripting languages such as HTML, CSS, Javascript and PHP.