- Закръгляне към цяло число
WT форуми -> PHP MySQL ASP.NET -> Закръгляне към цяло число
Създайте нова тема Напишете отговор 
Автор Съобщение
djidja83
Нов
Нов

Регистриран на: 02/01/2016 11:49 pm

Support: 0
Bonus: 0
Мнения: 45
Мнение 13/06/2018 3:04 pm     Закръгляне към цяло число Отговорете с цитат


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

<?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>";
?>

Предварително благодаря!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 157
Bonus: 313
Мнения: 1443
Мнение 13/06/2018 9:22 pm      Отговорете с цитат


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

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

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

Ако търсиш най-близкото по-голямо, добави Б към резултата. 14 + 7 = 21 - дели се точно на 7 и е най-близкото по-голямо.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
djidja83
Нов
Нов

Регистриран на: 02/01/2016 11:49 pm

Support: 0
Bonus: 0
Мнения: 45
Мнение 14/06/2018 12:58 pm      Отговорете с цитат


Много благодаря! Мислех, че има някакъв код.

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

Занимавала съм се с php преди три години когато го учих - тогава правих курсов проект и от тогава до сега не съм се занимавала.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
amd
Нов
Нов

Регистриран на: 26/09/2005 12:14 am

Support: 1
Bonus: 32
Мнения: 13
Мнение 15/06/2018 7:16 am      Отговорете с цитат


Закръгляне с PHP

http://php.net/manual/en/function.round.php
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 157
Bonus: 313
Мнения: 1443
Мнение 15/06/2018 11:11 am      Отговорете с цитат


amd написа:
Закръгляне с PHP

http://php.net/manual/en/function.round.php

Това не позволява закръгляне от 20 на 21, за каквото пита автора.

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

Пример: round(20 / 7) * 7 = round(2.9) * 7 = 3 * 7 = 21
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети