note 105870 added to function.floor

From: Date: Wed, 21 Sep 2011 18:22:23 +0000
Subject: note 105870 added to function.floor
Groups: php.notes 
Request: Send a blank email to php-notes+get-183330@lists.php.net to get a copy of this message
The better way to round up/down to the nearest hundred (or thousand, etc.) is with roundBetter(): // This function is backwards compatible with round(), // but provides an optional extra argument which, // if set and not null, allows you to override the default // rounding direction. See examples below. function roundBetter($number, $precision = 0, $mode = PHP_ROUND_HALF_UP, $direction = NULL) { if (!isset($direction) || is_null($direction)) { return round($number, $precision, $mode); } else { $factor = pow(10, -1 * $precision); return strtolower(substr($direction, 0, 1)) == 'd' ? floor($number / $factor) * $factor : ceil($number / $factor) * $factor; } } // roundBetterUp(1999, -3) => 2000 // roundBetterUp(1001, -3) => 2000 function roundBetterUp($number, $precision = 0, $mode = PHP_ROUND_HALF_UP) { return roundBetter($number, $precision, $mode, 'up'); } // roundBetterDown(1999, -3) => 1000 // roundBetterDown(1001, -3) => 1000 function roundBetterDown($number, $precision = 0, $mode = PHP_ROUND_HALF_UP) { return roundBetter($number, $precision, $mode, 'down'); } ---- Server IP: 69.147.83.197 Probable Submitter: 24.245.45.78 ---- Manual Page -- http://www.php.net/manual/en/function.floor.php Edit -- https://master.php.net/note/edit/105870 Del: integrated -- https://master.php.net/note/delete/105870/integrated Del: useless -- https://master.php.net/note/delete/105870/useless Del: bad code -- https://master.php.net/note/delete/105870/bad+code Del: spam -- https://master.php.net/note/delete/105870/spam Del: non-english -- https://master.php.net/note/delete/105870/non-english Del: in docs -- https://master.php.net/note/delete/105870/in+docs Del: other reasons-- https://master.php.net/note/delete/105870 Reject -- https://master.php.net/note/reject/105870 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#183330) next »