Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2015, 06:23
Аспирант
Отправить личное сообщение для Untropee Посмотреть профиль Найти все сообщения от Untropee
 
Регистрация: 04.08.2015
Сообщений: 59

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

Ничего в голову не идёт ночью)
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2015, 07:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var n = 14, 
    k = (k = n % 10) < 5 ? (parseInt(n/10) + 5/10) * 10 : Math.round(parseInt(n/10) + k/10);
alert(k)
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2015, 07:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,930

Untropee,
function fn(a) {
    var b = a % 5;
    b && (a = a - b + 5);
    return a
};
alert([fn(301),fn(14),fn(437)])
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2015, 08:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Все забываю о простом. )
рони, а зачем b && (...), а не a = a - b + 5; return a?
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2015, 10:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,930

Сообщение от laimas
а зачем b && (...), а не a = a - b + 5; return a?
низя 15 превратится в 20
Ответить с цитированием
  #6 (permalink)  
Старый 13.10.2015, 10:25
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

/**
 * 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));
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2015, 11:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
низя
А, ну да, ему же шаг по 5 нужен.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 10:22
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 22:30
число в базу Miheeva Общие вопросы Javascript 22 19.02.2015 00:10
Как использовать sprit'ы? Hekumok Общие вопросы Javascript 17 10.08.2012 11:24
Как прибавлять число к числу? Forgott Общие вопросы Javascript 9 06.05.2008 08:47