HDFilmMaker2112 Posted May 25, 2011 Share Posted May 25, 2011 I need to round a number based on it's decimal. 3 or below should round down, 4 should round up to 5, 6 and 7 should round down to 5; 8 and 9 should round up to the next whole number. The below is returning 3 from 2.16. <?php $a=2.16; $i=round($a, 1); $b=$i; $i=explode(".", $a); $decimal=$i[1]; if($decimal < 5){ $j=floor($b); $i= $decimal > 3 ? $j + .5 : $j; echo $i; } else{ $j=ceil($b); $i= $decimal < 8 ? $j - .5 : $j; echo $i; } ?> EDIT: The explode should have been on $i not $a. Link to comment https://forums.phpfreaks.com/topic/237409-rounding-up-or-down-based-on-decimal/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.