有没有一种简单的方法在JavaScript中找出一个数可以被另一个数整除多少次?
比如11除以4,我知道4可以被整除2次。
我有以下代码,但是我记得可能有更简单的方法?
<script>
a = 11;
b = 4;
i = a % b;
i2 = a - i;
solution = i2 / b;
document.write(solution); // 2
</script>
有没有一种简单的方法在JavaScript中找出一个数可以被另一个数整除多少次?
比如11除以4,我知道4可以被整除2次。
我有以下代码,但是我记得可能有更简单的方法?
<script>
a = 11;
b = 4;
i = a % b;
i2 = a - i;
solution = i2 / b;
document.write(solution); // 2
</script>
那么关于这个问题...
Math.floor(11 / 4);
如果你需要处理负数(感谢Ted Hopp),你可以使用~~
、|0
或者其他任何将操作数视为32位有符号整数的位运算技巧。请注意,除了这会令人困惑外,它也不能处理超过32位的数字。
~~(11 / 4);
你可以使用这个技巧:
(a / b) >> 0
将数字按0位移动会截断小数部分。这总是朝向0舍入,而 Math.floor
在处理负数时不会这样做。
~~
的方法很好。我只是想做一个位运算而已。:) -- 啊!我刚看到你也建议使用|0
。这和我的技巧一样简单! - Ted Hopp
Math.floor
不是正确的工具。 - Ted Hopp