Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What is math.floor in JavaScript

Understanding the Math.floor Function

As you delve deeper into the world of JavaScript, you might stumble upon various built-in functions that help you perform mathematical operations. One such function is Math.floor(). Now, you might be wondering, "What does it do?"

In plain English, the Math.floor() function rounds down a number to the nearest integer or, in simpler terms, it chops off the decimal part of a number. Like when you're cooking and you only need whole carrots, not pieces. You would round down to the nearest whole carrot, right? This is exactly what Math.floor() does with numbers.

console.log(Math.floor(3.9));  // This will output 3
console.log(Math.floor(5.1));  // This will output 5

The Concept of Rounding Down

In mathematics, the concept of rounding is a way of simplifying numbers to make them easier to work with. When we round down, we go to the nearest whole number that is less than or equal to the original number.

The Math.floor() function in JavaScript applies this very concept. No matter how close the number is to the next integer, Math.floor() will always round it down. It's like an elevator that only goes down to the nearest floor, even if it's just an inch away from the next level up.

console.log(Math.floor(4.9999));  // This will output 4

Using Math.floor in Real-world Scenarios

One of the best ways to truly understand Math.floor() is to see it in action in real-world scenarios. Let's say you're building an online store and you want to implement a feature that gives customers a discount based on the number of products they purchase.

function calculateDiscount(items) {
  let discount = Math.floor(items / 10);
  return discount * 5;  // 5% discount for every 10 items
console.log(calculateDiscount(27)); // This will output 10

In this example, the Math.floor() function is used to determine how many times the customer would get a discount. Even if they bought 27 items (which is close to 30), the function still rounds down to 2, and they get a 10% discount.

The Difference Between Math.floor and Other Rounding Methods

You might be wondering, "Are there other ways to round numbers in JavaScript?" The answer is yes. JavaScript provides Math.round() and Math.ceil() functions.

Math.round() rounds to the nearest integer, meaning it could go up (round up) or down (round down) depending on the decimal value. If the decimal is 0.5 or above, it rounds up. If it's less than 0.5, it rounds down.

Math.ceil(), on the other hand, always rounds up to the nearest integer, much like how a ceiling is always above you.

console.log(Math.round(3.5));  // This will output 4
console.log(Math.ceil(3.1));   // This will output 4

While these functions have their uses, Math.floor() is special because it always rounds down, giving you a consistent, predictable result.


To wrap up, Math.floor() is a JavaScript function that rounds a number down to the nearest integer. It's like a strict teacher who doesn't round up grades, always rounding down no matter how close you are to the next grade up. Understanding how it works can save you a lot of headaches when dealing with numbers, especially in real-world scenarios like calculating discounts or determining quantities.

So the next time you find yourself dealing with numbers in JavaScript, remember Math.floor(). It's a handy tool that always has your back when you need to round things down. Now, doesn't that make your JavaScript journey a little less daunting?