note 76139 added to function.round
| From: | callumdotdittmaratgmaildotcom at osu1 dot php dot net | Date: | Mon, 02 Jul 2007 14:40:03 +0000 |
| Subject: | note 76139 added to function.round | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-128157@lists.php.net to get a copy of this message | ||
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;
}
}
?>
----
Server IP: 203.16.234.90
Probable Submitter: 59.101.203.143
----
Manual Page -- http://www.php.net/manual/en/function.round.php
Edit -- https://master.php.net/note/edit/76139
Del: integrated -- https://master.php.net/note/delete/76139/integrated
Del: useless -- https://master.php.net/note/delete/76139/useless
Del: bad code -- https://master.php.net/note/delete/76139/bad+code
Del: spam -- https://master.php.net/note/delete/76139/spam
Del: non-english -- https://master.php.net/note/delete/76139/non-english
Del: in docs -- https://master.php.net/note/delete/76139/in+docs
Del: other reasons-- https://master.php.net/note/delete/76139
Reject -- https://master.php.net/note/reject/76139
Search -- https://master.php.net/manage/user-notes.php