在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 remainder = x % y;
return (x - remainder) / y;

我不是位运算的专家,但这里有另一种方法来获得整个数字:

var num = ~~(a / b);

这也适用于负数,而Math.floor()将以错误的方向舍入。

这似乎也是正确的:

var num = (a / b) >> 0;

floor(operation)返回操作的四舍五入值。

第一个问题的例子:

Const x = 5; Const y = 10.4; const z =数学。地板(x + y); console.log (z);

第二个问题的例子:

Const x = 14; Const y = 5; const z =数学。地板(x % y); console.log (x);

const idivmod = (a, b) => [a/b |0, a%b];

还有一项关于这个问题的提案 模量和附加整数数学