我需要一个JavaScript调用,将数字四舍五入到最接近12的倍数。
一些例子:
1 -> 12
7 -> 12
14 -> 24
27 -> 36
有人知道一个好的方法吗?我所能想到的是,“如果在1-11之间,则变为12。如果在13-23之间,则变为24等。”但这似乎不太有效率。
一些例子:
1 -> 12
7 -> 12
14 -> 24
27 -> 36
有人知道一个好的方法吗?我所能想到的是,“如果在1-11之间,则变为12。如果在13-23之间,则变为24等。”但这似乎不太有效率。
使用Math.ceil()
函数
var n = 13;
var next = Math.ceil(n/12) * 12;
5/12 = 0.4166666666666667
,而我本来期望得到0。 - Hunter McMillen对于正整数:
ceiling(n/12.0) * 12
对于负整数:
floor(n/12.0) * 12
对于零:
return 12
function nearest(i) {
return Math.floor((i-1)/12)*12+12;
}
function roundIt(n) {
return Math.ceil(n / 12) * 12;
}