# How to Round Up a Number in Python

Syed Moiz Haider Feb 02, 2024

This tutorial explains different methods to explain the concept of rounding up a number. There are various ways to round up a number in the correct way. For example, a number can be rounded using the `math` module provided by Python, using the `NumPy` module, and so on. The tutorial will explain these different methods using example code snippets.

## Use the `math.ceil()` Function to Round Up a Number in Python 2.x

If you are using the Python 2.x version, you can use the `math.ceil()` function to round up a number correctly. The `ceil()` function is provided by the `math` library of Python. So we need to import the `math` library first. The `ceil` function takes the number that needs to be rounded. It can take an expression and round the resulting number as per the results.

However, it should be noted that in Python 2.x, `int/int` produces `int`, and `int/float` results in a `float`. So we need to give one of the values in `float` to the `ceil` function to get accurate results. If both values of an expression in the `ceil` function is an integer, it can produce wrong results.

An example code to illustrate the concept of how to use `math.ceil()` to round up a number in Python 2.x is given below.

``````import math

print(math.ceil(27 / 4))
print(math.ceil(27.0 / 4))
``````

Output:

``````6
7
``````

## Use Simple Arithmetic to Round Up a Number in Python

A number can also be rounded up by using simple arithmetic in Python. This method is applicable to all versions of Python. It casts the first expression into an `integer` data type and adds 0 or 1 value based on the result of another expression. Other expression finds the modulus of the number with the same denominator and checks if it is greater than 0 or not. If the remainder is greater than 0, it adds one to the first expression, and if it is false, it adds 0 to the first expression.

An example code is given below to explain how to use simple arithmetic to round up a number in Python without importing the `math` library.

``````n = 22
div = 5
print(int(n / div) + (n % div > 0))
``````

Output:

``````5
``````

## Use Floor Division Operator to Round Up a Number in Python

The symbol for the floor division operator is `//`. It works in the same way as a simple division operator, `/`, but it also rounds the number down. So, It is usually used to round down the number in Python. However, we can modify its use to round up a number as well. We can do so by negating the answer by dividing negative numbers. It will save the cost of any import or use of float and any other conditions. It works with the integers only.

An example code is given below to elaborate on how to use the floor division operator to round up a number in Python.

``````n = 22
div = 5
answer = -(-n // div)
print(answer)
``````

Output:

``````5
``````

Similarly, we can round up a number by adding the denominator to the numerator and subtracting 1 from it. Then the whole expression will be floor divided with the denominator. It is a straightforward method that does not involve any floating points and external modules also. An example code of this method is given below.

``````numerator = 22
denominator = 5
answer = (numerator + denominator - 1) // denominator
print(answer)
``````

Output:

``````5
``````

## Use the `numpy.ceil()` Method to Round Up a Number in Python

Another method to round up a number is to use the `numpy.ceil()` method. First, we need to import the `NumPy` module in the script and then use the `ceil()` method to round up a number. The return type of the `ceil()` function is float, so even if the expression is in integers, the output will be in the float. The output can be explicitly cast to integer data type by explicitly casting it to be an integer.

An example code of this method to round up a number in Python is given below.

``````import numpy as nmp

n = 22
div = 5
answer = n / div
print(nmp.ceil(answer))
print(int(nmp.ceil(answer)))
``````

Output:

``````5.0
5
``````

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn