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 .

Ryan Sheehy

Author of scripteverything.com, Ryan has been dabbling in code since the late '90s when he cut his teeth by exploring VBA in Excel when trying to do something more. 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. When he is not behind a screen, Ryan enjoys a good bush walk with the family during the cooler months, and going with them to the beach during the warmer months.

Recent Posts