stroju
12.01.2012, 13:54:02
Mam takie pytanie, czy da się w prosty sposób zaokrąglić jakąś liczbę np 5,32 nie do pełnych liczb, ale do ich połówek też, czyli 5,32 zaokrągli do 5,5, a 5,23 zaokrągli do 5,0. Chodzi o prosty sposób, bez zbędnego kombinowania.
kaem
12.01.2012, 14:01:48
Może dzielenie modulo?
// pisane z palca
if($liczba % intval($liczba) !== 0) // istnieje jakas reszta po przecinku {
// tutaj sobie zaokrąglasz, np.
$liczba = intval($liczba) + 0.5; }
thek
12.01.2012, 14:04:07
A z opcją Szukaj na forum to miałeś akcję "zły dotyk boli całe życie"?
http://forum.php.pl/index.php?showtopic=87681
Kshyhoo
12.01.2012, 14:09:12
($tmp=floor($i+0
.25
)) + ($i-$tmp >= 0
.25 ? 0
.5
: 0)
thek
12.01.2012, 14:17:39
Kshyhoo: zobacz pod link jaki dałem. Zamiast dwóch operacji dodawania oraz jednego odejmowania i do tego jeszcze trzaskać if (a do tego całość wygląda dziwnie), można to załatwić jedną funkcją wbudowaną + po jednej operacji mnożenia i dzielenia. A zapis na oko 3 razy krótszy niż Twój.
stroju
12.01.2012, 14:17:51
nie pomyślałem że ktoś mógł szukać takiego rozwiązania, w google nic ciekawego nie pokazało..
nie mniej jednak wystarczy mi rozwiązań aby coś z tego wykorzystać, dzięki wszystkim