在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
当前回答
计算页数可以一步完成: Math.ceil (x / y)
其他回答
我不是位运算的专家,但这里有另一种方法来获得整个数字:
var num = ~~(a / b);
这也适用于负数,而Math.floor()将以错误的方向舍入。
这似乎也是正确的:
var num = (a / b) >> 0;
它总是截断为零。 不知道是不是太迟了,但我要说的是:
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
};
}
如果你只是用2的幂除法,你可以使用位运算符:
export function divideBy2(num) {
return [num >> 1, num & 1];
}
export function divideBy4(num) {
return [num >> 2, num & 3];
}
export function divideBy8(num) {
return [num >> 3, num & 7];
}
(第一个是商,第二个是余数)
您可以使用parseInt函数来获得截断的结果。
parseInt(a/b)
要得到余数,使用mod操作符:
a%b
parseInt有一些陷阱字符串,以避免使用基数参数以10为基数
parseInt("09", 10)
在某些情况下,数字的字符串表示可以是科学符号,在这种情况下,parseInt将产生错误的结果。
parseInt(100000000000000000000000000000000, 10) // 1e+32
这个调用的结果是1。
计算页数可以一步完成: Math.ceil (x / y)