|
|
Модератор форума: Yuri_G |
Сообщество uCoz Модули uCoz Дополнительные функции Системные коды обрезания текста uCoz (Каким образом округлить число до N знаков после комы) |
Системные коды обрезания текста uCoz |
Код <? $OTHER4$/100*$OTHER5$/490 ?> Подскажите каким способом можно округлить значение после комы?! |
|
Shurik6211, вообще есть системный оператор int() он округляет в сторону нуля. Соответственно, если у тебя число 67.9 то <?int($OTHER4$)?> будет 67
Вот небольшой пример, как это можно решить... Код <?if(substr($OTHER4$/100*$OTHER5$/490,strpos($OTHER4$/100*$OTHER5$/490,'.')+1,1)<=5)?><?int($OTHER4$/100*$OTHER5$/490)?><?else?><?int($OTHER4$/100*$OTHER5$/490)+1?><?endif?> Данный пример будет ориентирован на первое число после точки. Соответственно, если оно меньше или равно 5, то округлит в меньшую сторону, если больше 5, то округлит в большую сторону. В твоем примере вернет 0 ,так как десятая часть(число после точки) = 2. Можно написать более сложный скрипт, для более точного вычисления. А вообще, это вычисление лучше произвести в форме добавления через js и результат(можно и округлить сразу) вставлять в одно дополнительное поле, таким образом, $OTHER5$ можно сохранить для других нужд. Можешь забрать этот код и вставить его себе, сам знаешь куда.
Сообщение отредактировал Head-Mad - Пятница, 30 Авг 2013, 22:49:20
|
вычесть округленное до нуля число из неокругругленного. если полученный результат меньше 0,5 , просто округляем через int, иначе плюс один
Код <?if((($OTHER4$/100*$OTHER5$/490) - int($OTHER4$/100*$OTHER5$/490)) < 0.5)?> <?int($OTHER4$/100*$OTHER5$/490)?> <?else?> <?int($OTHER4$/100*$OTHER5$/490)+1?> <?endif?> Сообщение отредактировал kkott - Суббота, 19 Дек 2015, 02:53:50
|
| |||
| |||