$zmienna.="<li>Moje wyliczenia: <b>".round($stala-2.71-4.28-1,8, PHP_ROUND_HALF_EVEN)."</b></li>";
Oczekuję tu wyniku w postaci np. 1005
a tym czasem dostaję: Moje wyliczenia: 1004,34
Dlaczego?
Jak zmienię EVEN na UP to nic nie zmienia.
$zmienna.="<li>Moje wyliczenia: <b>".round($stala-2.71-4.28-1,8, PHP_ROUND_HALF_EVEN)."</b></li>";
Oczekuję tu wyniku w postaci np. 1005
a tym czasem dostaję: Moje wyliczenia: 1004,34
Dlaczego?
Jak zmienię EVEN na UP to nic nie zmienia.
Dlaczego?
Dlatego, że zaokrąglasz do ósmego miejsca po przecinku; spróbuj round(..., 0, PHP_ROUND_HALF_EVEN)
(protip: masz to nawet w przykładach w dokumentacji :-)).
Oryginalny kod pisałem 15 lat temu :D naprawdę nie wiem co wtedy miałem na myśli, że dałem tu 8.
Działa, dzięki
największe jajo widziałem w C, w dziale mikroprocesorowym Elektrody (niech te ekspresy do kawy i Airbusy z softem embedded kiedyś na na łeb spadną)
#define PI 3,14
Oryginalny kod pisałem 15 lat temu :D naprawdę nie wiem co wtedy miałem na myśli, że dałem tu 8.
Gorzej, że przez te 15 lat się nie rozwinąłeś i teraz tego błędu nie zauważyłeś samodzielnie.
Przecież widziałeś że coś nie działa tak, jak oczekiwałeś - mogłeś zajrzeć do instrukcji i to samemu wyłapać.