Добрый день. Есть проблема с округлением чисел на Ucoz. Пытался на гуглить но ответа не получил. Вообщем на юкозе есть округление чисел после математических вычислений работает оно так:
Код
<?INT($OTHER2$*1000-1000/4)?>
Но это округление очень грубое до целых и всегда округляет к меньшему числу. Т.е. если число выйдет 2.99, то округлиться до 2. Поэтому интересует решение (системно или скриптом), что бы округляло до десятичных или сотых. Возможно такое?
Поэтому интересует решение (системно или скриптом), что бы округляло до десятичных или сотых.
Системное - оч сложное, типа так: обрезать число по запятой, сравнить с 5 (если округляем до целых), если больше - то к первой части прибавляем единицу, если меньше - нет... короче - геморрой еще тот..
Скриптом: Math.round
Код
Math.round(20.49) // 20 Math.round(20.5) // 21
Есть еще: Math.ceil - округляет все в большую сторону Math.floor - в меньшую
Для дробных так:
Код
Number(x).toFixed(3);
Но у осла было с toFixed недопонимание... и тогда начинались костыли:
Вы меня не поняли. Из дополнительного поля ($OTHER2$) при добавление материала берется число. А мне нужно, что бы скрипт пересчитывал - это число по формуле и округлял полученное новое число до сотых. На странице материала и комментариев к нему у меня выглядит код так.
Код
$OTHER2$ (<?($OTHER2$*1000-1000)/4?> °P)
а отображается, к примеру, так. 1.019 (4.74999999999997 °P) А надо так что бы отображалось: 1.019 (4.75 °P)
Сообщение отредактировал Iliz - Понедельник, 27.07.2015, 09:34