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.
What is floor division?
How to execute integer division and retrieve the remainder in JavaScript?
You can do integer division in JavaScript
Math.floor vs Math.round vs parseInt vs Bitwise jsPerf
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?
Videos
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!