Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как округлить число до 5ти? (https://javascript.ru/forum/misc/58822-kak-okruglit-chislo-do-5ti.html)

Untropee 13.10.2015 05:23

Как округлить число до 5ти?
 
Приветствую! Есть ли какие нибудь идеи как можно округлить, например, число 301 до 305, 14 до 15, 437 до 440 и тд...

Ничего в голову не идёт ночью)

laimas 13.10.2015 06:58

var n = 14, 
    k = (k = n % 10) < 5 ? (parseInt(n/10) + 5/10) * 10 : Math.round(parseInt(n/10) + k/10);
alert(k)

рони 13.10.2015 06:59

Untropee,
function fn(a) {
    var b = a % 5;
    b && (a = a - b + 5);
    return a
};
alert([fn(301),fn(14),fn(437)])

laimas 13.10.2015 07:21

Все забываю о простом. )
рони, а зачем b && (...), а не a = a - b + 5; return a?

рони 13.10.2015 09:14

Цитата:

Сообщение от laimas
а зачем b && (...), а не a = a - b + 5; return a?

низя :) 15 превратится в 20

nerv_ 13.10.2015 09:25

/**
 * Example: (57, 10) => 60
 * @param {Number} number
 * @param {Number} precision
 * @returns {Number}
 */
function roundUp(number, precision) {
    return Math.ceil(number / precision) * precision;
}
/**
 * Example: (57, 10) => 50
 * @param {Number} number
 * @param {Number} precision
 * @returns {Number}
 */
function roundDown(number, precision) {
    return Math.floor(number / precision) * precision;
}


alert(roundUp(301, 5));
alert(roundDown(301, 5));

laimas 13.10.2015 10:17

Цитата:

Сообщение от рони
низя

А, ну да, ему же шаг по 5 нужен.


Часовой пояс GMT +3, время: 14:51.