8

可能重复:
将数字四舍五入到最接近的 3 的倍数

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

一些例子:

1 -> 12

7 -> 12

14 -> 24

27 -> 36

有谁知道这样做的好方法?我能想到的只是“如果在 1-11 之间,则为 12。如果在 13-23 之间,则为 24,等等。” 但这似乎效率不高。

4

4 回答 4

13

采用Math.ceil()

var n = 13;
var next = Math.ceil(n/12) * 12;
于 2013-01-23T16:53:03.950 回答
4

对于正整数:

ceiling(n/12.0) * 12

对于负整数:

floor(n/12.0) * 12

对于零:

return 12
于 2013-01-23T16:53:08.833 回答
0
function nearest(i) {
    return Math.floor((i-1)/12)*12+12;
}
于 2013-01-23T16:52:57.440 回答
0
function roundIt(n) {
    return Math.ceil(n / 12) * 12;
}
于 2013-01-23T16:53:54.613 回答