For some number y and some divisor x compute the quotient (quotient)[1] and remainder (remainder) as:
const quotient = Math.floor(y/x);
const remainder = y % x;
Example:
const quotient = Math.floor(13/3); // => 4 => the times 3 fits into 13
const remainder = 13 % 3; // => 1
[1] The integer number resulting from the division of one number by another
Answer from Mark Elliot on Stack OverflowFor some number y and some divisor x compute the quotient (quotient)[1] and remainder (remainder) as:
const quotient = Math.floor(y/x);
const remainder = y % x;
Example:
const quotient = Math.floor(13/3); // => 4 => the times 3 fits into 13
const remainder = 13 % 3; // => 1
[1] The integer number resulting from the division of one number by another
I'm no expert in bitwise operators, but here's another way to get the whole number:
var num = ~~(a / b);
This will work properly for negative numbers as well, while Math.floor() will round in the wrong direction.
This seems correct as well:
var num = (a / b) >> 0;
Note: Only use ~~ as a substitution for Math.trunc() when you are confident that the range of input falls within the range of 32-bit integers.
Videos
How do you perform integer division in JavaScript?
What is the fastest way to perform integer division in JavaScript?
Can JavaScript perform integer division with BigInt?
I learned that you can do integer division in Python with //, for example 5.0 // 2 == 2.0 whereas 5.0 / 2 == 2.5. I wanted to know whether or not it was possible to do the same in JavaScript, and I found out that it was!
> 5 // 0.9 < 5 > 1 // 0.6 < 1 > 172 // 1 < 172
Try it yourself!