note 96703 deleted from function.round by danbrown

From: Date: Fri, 12 Mar 2010 13:22:48 +0000
Subject: note 96703 deleted from function.round by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-166962@lists.php.net to get a copy of this message
Note Submitter: sonicpr at bol dot com dot br ---- Problems with 2 decimal places (http://docs.sun.com/source/806-3568/ncg_goldberg.html): <?php function myround($n,$p=0) { $d=pow(10,$p); return floor(0.00000001 + (($n>0)?+0.5:-0.5) + $d*$n)/$d; } echo round(9.5), ' => ', myround(9.5), "\n"; // 10 => 10 echo round(9.95,1), ' => ', myround(9.95,1), "\n"; // 10 => 10 echo round(9.995,2), ' => ', myround(9.995,2), "\n"; // 9.99 => 10 echo round(9.9995,3), ' => ', myround(9.9995,3), "\n"; // 10 => 10 echo round(9.99995,4), ' => ', myround(9.99995,4), "\n"; // 10 => 10 echo round(-9.5), ' => ', myround(-9.5), "\n"; // -10 => -10 echo round(-9.95,1), ' => ', myround(-9.95,1), "\n"; // -10 => -10 echo round(-9.995,2), ' => ', myround(-9.995,2), "\n"; // -9.99 => -10 echo round(-9.9995,3), ' => ', myround(-9.9995,3), "\n"; // -10 => -10 echo round(-9.99995,4), ' => ', myround(-9.99995,4), "\n"; // -10 => -10 echo round(8.155, 2), ' => ', myround(8.155, 2), "\n"; // 8.15 => 8.16 echo round(141.075, 2), ' => ', myround(141.075, 2), "\n"; // 141.07 => 141.08 /* PHP 5.2.6-1+lenny6 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb 9 2010 03:05:13) Copyright (c) 1997-2008 The PHP Group */ ?>

« previous php.notes (#166962) next »