Round a number to the nearest 100 in Python

avatar

Borislav Hadzhiev

Last updated: Jul 11, 2022

banner

Photo from Unsplash

Table of Contents #

  1. Round a number to the nearest 100 in Python
  2. Round a number Up to the nearest 100 in Python
  3. Round a Number Down to the nearest 100 in Python

Round a number to the nearest 100 in Python #

Use the round() function to round a number to the nearest 100, e.g. result = round(num, -2). When the round() function is called with a second argument of -2, it rounds to the closest multiple of one hundred.

main.py
import math # ✅ Round number to nearest 100 num_1 = 237 result_1 = round(num_1, -2) print(result_1) # 👉️ 200 num_2 = 278 result_2 = round(num_2, -2) print(result_2) # 👉️ 300 # -------------------------------------- # ✅ Round number UP to nearest 100 def round_up_to_nearest_100(num): return math.ceil(num / 100) * 100 print(round_up_to_nearest_100(311)) # 👉️ 400 print(round_up_to_nearest_100(1)) # 👉️ 100 # -------------------------------------- # ✅ Round number DOWN to nearest 100 def round_down_to_nearest_100(num): return math.floor(num / 100) * 100 print(round_down_to_nearest_100(546)) # 👉️ 500 print(round_down_to_nearest_100(599)) # 👉️ 500

We used the round() function to round a number to the nearest 100.

The round function takes the following 2 parameters:

NameDescription
numberthe number to round to ndigits precision after the decimal
ndigitsthe number of digits after the decimal, the number should have after the operation (optional)
When ndigits is a negative number, the round() function rounds to the left of the decimal.

If ndigits is -1, it rounds to the closest multiple of 10. When ndigits is -2, the function rounds to the nearest 100, etc.

main.py
print(round(346, -1)) # 👉️ 350 print(round(346, -2)) # 👉️ 300

Round a number Up to the nearest 100 in Python #

To round a number up to the nearest 100:

  1. Call the math.ceil() method passing it the number divided by 100.
  2. Multiply the result by 100.
  3. The result of the calculation is the number rounded up to the nearest 100.
main.py
import math def round_up_to_nearest_100(num): return math.ceil(num / 100) * 100 print(round_up_to_nearest_100(311)) # 👉️ 400 print(round_up_to_nearest_100(1)) # 👉️ 100

The math.ceil method returns the smallest integer greater than or equal to the provided number.

main.py
import math print(math.ceil(123.001)) # 👉️ 124 print(math.ceil(123.999)) # 👉️ 124

If the passed in number has a fractional part, the math.ceil method rounds the number up.

Here is a step-by-step example of rounding a number up to the nearest hundred.

main.py
import math print(346 / 100) # 👉️ 3.46 print(600 / 100) # 👉️ 6.0 print(math.ceil(346 / 100)) # 👉️ 4 print(math.ceil(600 / 100)) # 👉️ 6 print(math.ceil(346 / 100) * 100) # 👉️ 400 print(math.ceil(600 / 100) * 100) # 👉️ 600
We first divide the number by 100 and then multiply with 100 to shift 2 decimal places to the right and left, so that math.ceil() works on the hundreds.

This is a two step process:

  1. Divide the number by 100 and round the result up to the nearest integer.
  2. Multiply the result by 100 to get the number rounded up to the nearest 100.

Round a Number Down to the nearest 100 in Python #

To round a number down to the nearest 100:

  1. Call the math.floor() method passing it the number divided by 100.
  2. Multiply the result by 100.
  3. The result of the calculation is the number rounded down to the nearest 100.
main.py
import math def round_down_to_nearest_100(num): return math.floor(num / 100) * 100 print(round_down_to_nearest_100(546)) # 👉️ 500 print(round_down_to_nearest_100(599)) # 👉️ 500 print(round_down_to_nearest_100(775)) # 👉️ 700

The math.floor method returns the largest integer less than or equal to the provided number.

main.py
import math print(math.floor(15.001)) # 👉️ 15 print(math.floor(15.999)) # 👉️ 15
If the passed in number has a fractional part, the math.floor method rounds the number down.

Here is a step-by-step example of rounding a number down to the nearest 100.

main.py
print(488 / 100) # 👉️ 4.88 print(251 / 100) # 👉️ 2.51 print(math.floor(488 / 100)) # 👉️ 4 print(math.floor(251 / 100)) # 👉️ 2 print(math.floor(488 / 100) * 100) # 👉️ 400 print(math.floor(251 / 100) * 100) # 👉️ 200
We first divide the number by 100 and then multiply with 100 to shift 2 decimal places to the right and left, so that math.floor() works on the hundreds.

This is a two step process:

  1. Divide the number by 100 and round the result down to the nearest integer.
  2. Multiply the result by 100 to get the number rounded down to the nearest 100.
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.