How to Round Down a Number in JavaScript?

How can I javascript round down a number? I know that Math.round() rounds to the nearest decimal, but I need to round down instead. Is there a better way to do this than breaking the number apart at the decimal point and keeping just the integer part?

If you’re looking to round down a number in JavaScript without manually breaking it apart, Math.floor() is a straightforward and reliable choice. This method directly rounds a number down to the nearest integer, so it’s often the go-to for cases like this where only the integer part is needed.


let num = 5.8;

let roundedDown = Math.floor(num); // roundedDown will be 5

Using Math.floor() is an easy way to handle javascript round down requirements. It removes the decimal portion and returns only the integer part.

Another alternative for javascript round down is to use parseInt(). This function parses a string or number and returns only the integer part, essentially discarding any decimal values. While parseInt() is often used for strings, it works on numbers too.


let num = 5.8;

let roundedDown = parseInt(num); // roundedDown will be 5

parseInt() may be helpful if you’re working with mixed data types or need an option that’s versatile. This way, you don’t need to manually extract the integer part.

One more approach for javascript round down is to use a bitwise operation. By applying the bitwise OR (|) operator with zero, you can truncate the decimal portion of a number, rounding it down effectively. This method is unique because it leverages JavaScript’s ability to handle integers in binary.


let num = 5.8;

let roundedDown = num | 0; // roundedDown will be 5

While it might look unusual, using num | 0 is often quicker in terms of performance and is a neat trick for discarding decimals efficiently.