在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
当前回答
我通常使用:
const quotient = (a - a % b) / b;
const remainder = a % b;
它可能不是最优雅的,但它是有效的。
其他回答
对于某个数y和某个除数x,计算商(商)[1]和余数(余)为:
const quotient = Math.floor(y/x);
const remainder = y % x;
例子:
const quotient = Math.floor(13/3); // => 4 => the times 3 fits into 13
const remainder = 13 % 3; // => 1
[1]由一个数除以另一个数得到的整数
我不是位运算的专家,但这里有另一种方法来获得整个数字:
var num = ~~(a / b);
这也适用于负数,而Math.floor()将以错误的方向舍入。
这似乎也是正确的:
var num = (a / b) >> 0;
我通常使用:
const quotient = (a - a % b) / b;
const remainder = a % b;
它可能不是最优雅的,但它是有效的。
var remainder = x % y;
return (x - remainder) / y;
它总是截断为零。 不知道是不是太迟了,但我要说的是:
function intdiv(dividend, divisor) {
divisor = divisor - divisor % 1;
if (divisor == 0) throw new Error("division by zero");
dividend = dividend - dividend % 1;
var rem = dividend % divisor;
return {
remainder: rem,
quotient: (dividend - rem) / divisor
};
}