Introduction
The Math.floor()
function Rounds a number down to its closest integer, for example, Math.floor(5.99)
returns 5.
What is Math.floor() in Javascript?
Math
is a Javascript Built-in object with properties and methods for Mathematical function, constants.
The Math.floor()
is one of the Static Methods in Javascript that takes a Number
and rounds it down.
console.log(Math.floor(5));
// 5
console.log(Math.floor(7.999));
// 7
console.log(Math.floor(7.009));
// 7
console.log(Math.floor(-3.95));
// -4
console.log(Math.floor(-3.05));
// -4
From the Example, you can see that Math.floor()
returns a Number
and it is always the largest integer less than or Equal to the provided number.
Math.floor() and Type Coercion
One of the known features of Javascript is the “Type Coercion”. Many people might think it is just a bad design, But in my opinion, if you know the type and also what a method is going to return, you should not be worried.
The type coercion happens when one type is converted into another. For example, a Number
can turn into String
.
console.log(Math.floor(27.99));
// 27
// But Also
console.log(Math.floor("27.99"));
// 27
// And even
console.log(Math.floor("27.99" - 10));
// 17
So the Math.floor()
function expects a Number
as an argument but if you provide a number as String
type, it converts the string to an integer and returns an integer? whaaaa?
Limitation
One of the caveats of the Math.floor()
function is passing null
as an argument.
You probably expect it to return NaN
(not a number), which is something that logically should be true but it returns 0 instead!
console.log(Math.floor(null));
// 0
There are other Static methods for Math
that might be useful to you based on your project requirements. I will be writing an article to cover different Methods and create a small ROI calculator shortly, so stay tuned.