我想检查一个数字(7)是否可以被另一个数字(5)整除,如果这个数字可以被这个数字整除,那么我需要返回相同的数字。如果该数字不能被另一个数字整除,我需要使其可整除并返回更新后的值。
var i =7;
if (i % 5 == 0) {
alert("divisible by 5");
} else {
alert("divisible not by 5");
}
Run Code Online (Sandbox Code Playgroud)
这里如果条件满足那么我需要返回相同的值。如果不满足条件,我需要添加所需的数字并使其下一个可整除。(就像 7 不能被 5 整除,所以我需要将 3 加到 7 并返回可以被 5 整除的值 10)。
是否有任何数学函数可以实现相同的功能?
您想要的似乎是这样的:
function roundTo(n, d) {
return Math.floor((n + d - 1) / d) * d;
}
Run Code Online (Sandbox Code Playgroud)
对于n10 和d5,您将获得 10 返还。对于n7 和d5,您还会得到 10。代码的作用是将输入数字比除数减 1,然后除以除数。然后它去掉任何小数部分 ( Math.floor()) 并再次乘以除数。
您可以通过使用简单的 while 循环来做到这一点:
function doThat(number, divider) {
while(number % divider !== 0) {
number++;
}
return number;
}
doThat(12, 5); // => returns 15
Run Code Online (Sandbox Code Playgroud)
这是一个小提琴: https: //jsfiddle.net/rdko8dmb/
| 归档时间: |
|
| 查看次数: |
18091 次 |
| 最近记录: |