在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
在JavaScript中,我如何得到:
一个给定整数除另一个整数的整数倍是多少? 其余的呢?
当前回答
对于某个数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]由一个数除以另一个数得到的整数
其他回答
我通常使用:
const quotient = (a - a % b) / b;
const remainder = a % b;
它可能不是最优雅的,但它是有效的。
ES6引入了新的数学。trunc方法。这允许修复@MarkElliot的答案,使其适用于负数:
var div = Math.trunc(y/x);
var rem = y % x;
注意,Math方法与位运算符相比有一个优势,那就是它们处理大于231的数字。
您可以使用parseInt函数来获得截断的结果。
parseInt(a/b)
要得到余数,使用mod操作符:
a%b
parseInt有一些陷阱字符串,以避免使用基数参数以10为基数
parseInt("09", 10)
在某些情况下,数字的字符串表示可以是科学符号,在这种情况下,parseInt将产生错误的结果。
parseInt(100000000000000000000000000000000, 10) // 1e+32
这个调用的结果是1。
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);
var remainder = x % y;
return (x - remainder) / y;