ID:               44898
 Updated by:       [EMAIL PROTECTED]
 Reported By:      zero at infernotechnologies dot net
-Status:           Open
+Status:           Bogus
 Bug Type:         Math related
 Operating System: CentOS Enterprise 4.5 x86_64
 PHP Version:      5.2.6
 New Comment:

Floating point values have a limited precision. Hence a value might 
not have the same string representation after any processing. That also
includes writing a floating point value in your script and directly 
printing it without any mathematical operations.

If you would like to know more about "floats" and what IEEE
754 is, read this:
http://docs.sun.com/source/806-3568/ncg_goldberg.html
 
Thank you for your interest in PHP.

.


Previous Comments:
------------------------------------------------------------------------

[2008-05-02 20:49:24] zero at infernotechnologies dot net

It seems adding a single line fixes the issue:

Line to add:
---------------------
$result = floatval($result . ' ');


Working version:
---------------------
$value1 = '1';
$value2 = '0.9';
$value3 = 0.1;

$result = floatval(floatval($value1) - floatval($value2));

$result = floatval($result . ' ');

if ($result >= $value3)
{
        echo 'Working as intended';
}
else
{
        echo "$result IS NOT >= $value3<br />";
        var_dump($result, $value3);
}

------------------------------------------------------------------------

[2008-05-02 20:43:47] zero at infernotechnologies dot net

Description:
------------
floatval() two seperate strings to return a result, try result against
exact same number (via >=) and condition returns false.

Reproduce code:
---------------
$value1 = '1';
$value2 = '0.9';
$value3 = 0.1;

$result = floatval(floatval($value1) - floatval($value2));

if ($result >= $value3)
{
        echo 'Working as intended';
}
else
{
        echo "$result IS NOT >= $value3<br />";
        var_dump($result, $value3);
}

Expected result:
----------------
Working as intended

Actual result:
--------------
0.1 IS NOT >= 0.1
float(0.1) float(0.1) 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=44898&edit=1

Reply via email to