Bug #16544 Updated: Floating point calculation bug or float() function bug
ID: 16544
Updated by: rasmus@php.net
Reported By: chris@owta.net
Status: Bogus
Bug Type: Math related
Operating System: Windows
PHP Version: 4.1.2
New Comment:
Please read this:
http://www.php.net/manual/en/language.types.float.php
Previous Comments:
------------------------------------------------------------------------
[2002-04-11 06:31:56] chris@owta.net
Why is this a support question? The bug is in the way the floor
function and the floating point internals in PHP are working. The floor
function is rounding a number down incorrectly.
------------------------------------------------------------------------
[2002-04-11 06:21:52] sander@php.net
The bug system is not the appropriate forum for asking support
questions. For a list of a range of more appropriate places to ask
for help using PHP, please visit http://www.php.net/support.php
------------------------------------------------------------------------
[2002-04-11 04:55:49] chris@owta.net
Here's the code
<?
$quantities = array(5000.00, 1000.00, 200.00);
$amount = 6200;
debug($quantities);
foreach ($quantities as $quantity) {
$divVal = ($amount/$quantity);
echo ++$i.". Quantity:\n".$quantity."<BR>";
echo "divVal: ".$divVal." - ".var_dump($divVal)."<BR>\n";
echo "Amount: ".$amount."\n";
if (floor($divVal) > 0) {
echo " [floored divVal is greater than zero]\n";
$amount = ($divVal - floor($divVal)) * $quantity;
}
echo "<BR><BR>";
}
?>
You'll see the floor function is operating incorrectly?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16544&edit=1
Thread (4 messages)