我想找一个更接近特定数字的数字。在当前示例中,partitucal数是15.我将n传递给方法,它将返回最接近完全除以15的方法 我想要一个像这样的方法
function getCloser(no){
if(no is closer to 0) // in this case no can be 1,2,3,4,5,6,7
return 0
if(no is closer to 15) // in this case no can be 8,9,10,11,12,13,15,16...22
return 15
if(no is closer to 30) // in this case no can be 23 to 37
return 30
and so on...
}
答案 0 :(得分:7)
function getCloser(a, b) {
b = b || 15;
return Math.round(a / b) * b;
}
答案 1 :(得分:1)
我怀疑你可以用这个(未经测试的)功能来做到这一点:
function getCloser(n)
{
return 15*(Math.round(n/15))
}
这除以十五和向上/向下舍入,因此对于7它是7/15四舍五入为0 - > 0但是对于8舍入为1,这乘以十五给出了更接近的数字。
答案 2 :(得分:1)
function getCloser(no){
return Math.round(no/gap) * gap ;
}
var gap = 15;
var str = getCloser(9) + "--" + getCloser(5) + "--" + getCloser(24) ;
alert(str);
答案 3 :(得分:0)