向上舍入到最接近的12的倍数

时间:2013-01-23 16:47:06

标签: javascript math rounding

  

可能重复:
  Round number up to the nearest multiple of 3

我需要一个javascript调用,它会将数字舍入到最接近的12的倍数。

一些例子:

1 - > 12

7 - > 12

14 - > 24

27 - > 36

有没有人知道这样做的好方法?我能想到的是“如果介于1-11之间,请将其设为12.如果介于13-23之间,请将其设为24,等等”但这似乎不是很有效。

4 个答案:

答案 0 :(得分:13)

使用Math.ceil()

var n = 13;
var next = Math.ceil(n/12) * 12;

答案 1 :(得分:4)

对于正整数:

ceiling(n/12.0) * 12

对于负整数:

floor(n/12.0) * 12

零:

return 12

答案 2 :(得分:0)

function nearest(i) {
    return Math.floor((i-1)/12)*12+12;
}

答案 3 :(得分:0)

function roundIt(n) {
    return Math.ceil(n / 12) * 12;
}