Math.floor такие вещи

Мне было трудно искать мой вопрос (не знаю, какие ключевые слова использовать извините моды!).

Я хочу добиться чего-то вроде функции 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 работает! Спасибо, М8!

4 ответа

Как насчет по модулю оператора?

я = 13;

ans = i - (i% 6)

Изменить: что вы хотите достичь? пол или потолок?

Вы не упомянули язык, вам это нужно, попробуйте этот код C:

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

Изменить: для JavaScript:

Math.floor(n/6)*6;
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

Я думаю, что-то вроде:

Math.floor((x+2)/6)*6;
Другие вопросы по тегам