Jump to content

rounding up or down based on decimal


Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.