note 96131 added to function.fmod

From: Date: Wed, 10 Feb 2010 14:37:26 +0000
Subject: note 96131 added to function.fmod
Groups: php.notes 
Request: Send a blank email to php-notes+get-165827@lists.php.net to get a copy of this message
This class ran through several unit tests and fixes all failures found in bugs.php.net <?php abstract class MyNumber { public static function isZero($number, $precision = 0.0000000001) { $precision = abs($precision); return -$precision < (float)$number && (float)$number < $precision; } public static function isEqual($number1, $number2) { return self::isZero($number1 - $number2); } public static function fmod($number1, $number2) { $rest = fmod($number1, $number2); if (self::isEqual($rest, $number2)) { return 0.0; } if (mb_strpos($number1, ".") === false) { $decimals1 = 0; } else { $decimals1 = mb_strlen($number1) - mb_strpos($number1, ".") - 1; } if (mb_strpos($number2, ".") === false) { $decimals2 = 0; } else { $decimals2 = mb_strlen($number2) - mb_strpos($number2, ".") - 1; } return (float)round($rest, max($decimals1, $decimals2)); } } ?> ---- Server IP: 85.214.154.209 Probable Submitter: 89.244.130.51 ---- Manual Page -- http://www.php.net/manual/en/function.fmod.php Edit -- https://master.php.net/note/edit/96131 Del: integrated -- https://master.php.net/note/delete/96131/integrated Del: useless -- https://master.php.net/note/delete/96131/useless Del: bad code -- https://master.php.net/note/delete/96131/bad+code Del: spam -- https://master.php.net/note/delete/96131/spam Del: non-english -- https://master.php.net/note/delete/96131/non-english Del: in docs -- https://master.php.net/note/delete/96131/in+docs Del: other reasons-- https://master.php.net/note/delete/96131 Reject -- https://master.php.net/note/reject/96131 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#165827) next »