Закръгляне към цяло число

djidja83

Registered
Здравейте,
Както винаги пак имам проблем.
След въвеждане на данни от потребителя и извършване на нужните изчисления, резултатът, който излиза на екрана е три променливи. Обаче излизат с много знаци след десетичната запетая, а на мен ми трябва най-близкото цяло число, което се дели на определено число (различно за трите променливи). Възможно ли е да се направи това и как?
Ето кода:

<?php
$calc = $_POST ["operation"];
$a = $_POST ["a"];
$b = $_POST ["b"];
$c = $_POST ["c"];
$d = $_POST ["d"];
$activity = $_POST ["activity"];
$i=0.55;
$k=0.29;
$l=0.24;
$m=100;
$n=2;
$o=4;
$q=7;
$s=9;
$u=1.5;
$X=($b*$i)-$n;
$Y=($a*$k)-$o;
$Z=$X+$Y;
$E=$c*$l;
$F=$Z-$E;
$G=$d*($F/$m);
$H=$d-$G;
$J=$H*$activity;
$P=$J/$q;
$R=$P*$s;
$T=$P*$u;
echo
"<P>ВАШАТА ДНЕВНА НУЖДА ОТ ПРОТЕИНИ Е: $J гр.</P>
<P>ВАШАТА ДНЕВНА НУЖДА ОТ ВЪГЛЕХИДРАТИ Е: $R гр.</P>
<P>ВАШАТА ДНЕВНА НУЖДА ОТ МАЗНИНИ Е: $T гр.</P>";
?>

Предварително благодаря!
 
В случая няма потребители, няма скриптове, няма кодове. Има само математика:

Това е формулата: А - А % Б

Към числото добавяш остатъка му при деление на Б. Пример:
А = 20
Б = 7
20 - (числото, което ще го допълни до делящо се на 7) = 20 - 20 % 7 = 20 - 6 = 14.
А 14 се дели точно на 7, значи е най-близкото по-малко число.

Ако търсиш най-близкото по-голямо, добави Б към резултата. 14 + 7 = 21 - дели се точно на 7 и е най-близкото по-голямо.
 
Много благодаря! Мислех, че има някакъв код.

Правя дипломна работа и това е само началото на питанията ми :) .

Занимавала съм се с php преди три години когато го учих - тогава правих курсов проект и от тогава до сега не съм се занимавала.
 
amd каза:
Закръгляне с PHP

http://php.net/manual/en/function.round.php
Това не позволява закръгляне от 20 на 21, за каквото пита автора.

Може да разделиш първо числото на делителя, закръглиш до цяло число, и после умножиш обратно по делителя, но реших, че другото решение е по-просто и по-елегантно.

Пример: round(20 / 7) * 7 = round(2.9) * 7 = 3 * 7 = 21
 

Горе