note 76139 deleted from function.round by colder
| From: | colder@php.net | Date: | Mon, 02 Jul 2007 19:13:23 +0000 |
| Subject: | note 76139 deleted from function.round by colder | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-128161@lists.php.net to get a copy of this message | ||
Note Submitter: callum dot dittmar at gmail dot com
Reason: bad code
----
A way of rounding a decimal to the nearest half (or whole) number, eg:
3.05 becomes 3
4.26 becomes 4.5
etc.. would be..
<?php
function round_to_half($num) {
$base_number = substr($num, 0, 1);
$top_number = ($base_number + 1);
$mid_number = ($top_number - 0.5);
$base_diff = ($num - $base_number);
$top_diff = ($top_number - $num);
$mid_diff = abs($mid_number - $num);
if ($base_diff < $mid_diff && $base_diff < $top_diff) {
return $base_number;
} else if ($mid_diff <= $base_diff && $mid_diff < $top_diff) {
return $mid_number;
} else {
return $top_number;
}
}
?>