0

我发现很难搜索我的问题(不知道要使用什么关键字对不起模组!)。

我想要实现的是类似于 Math.floor 函数,但有点不同。

我不想以小数为底,而是以 6 为底,例如:

var = 1 => return 0
var = 1.1 => return 0
var = 2 => return 0
var = 3 => return 0
var = 4 => return 6
var = 5 => return 6
var = 6 => return 6
var = 7 => return 6
....
var = 13 => return 12
var = 26 => return 24

等等

提前感谢各位大侠的解答!

更新:Grijesh Chauhan 的答案有效!谢谢m8!

4

4 回答 4

1

你还没有提到语言,你需要这个吗,试试这个C代码:

int fun(int n){
   return (n/6)*6;
}

编辑:对于 JavaScript:

Math.floor(n/6)*6;
于 2013-04-03T14:19:26.230 回答
1

模运算符怎么样?

我 = 13;

答案 = i - (i % 6)

编辑:你想达到什么目的?地板还是天花板?

于 2013-04-03T14:19:37.837 回答
0

我认为它是这样的:

Math.floor((x+2)/6)*6;
于 2013-04-03T14:23:00.147 回答
0
function round2six(number) {
    return Math.round(number/6)*6;
}

这是一个测试代码:

for(i=0; i<20; i++) {
    document.write(i + ' => ');
    document.write(round2six(i));
    document.write('<br/>');
}

执行结果:

0 => 0
1 => 0
2 => 0
3 => 6
4 => 6
5 => 6
6 => 6
7 => 6
8 => 6
9 => 12
10 => 12
11 => 12
12 => 12
13 => 12
14 => 12
15 => 18
16 => 18
17 => 18
18 => 18
19 => 18
于 2013-04-03T14:29:21.580 回答