Edit report at https://bugs.php.net/bug.php?id=55409&edit=1

 ID:                 55409
 Updated by:         larue...@php.net
 Reported by:        php-bugs at nickshanks dot com
 Summary:            Casting floats containing an integer to ints gives
                     wrong result
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            Math related
 Operating System:   Irrelevant
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 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://www.floating-point-gui.de/

Thank you for your interest in PHP.




Previous Comments:
------------------------------------------------------------------------
[2011-08-13 10:38:31] larue...@php.net

Float values have a limited precision. Hence a value might 
not have the same string representation after any processing. That also
includes writing a float number in your script and directly printing it without 
any mathematical operations.
 
Thank you for your interest in PHP.

------------------------------------------------------------------------
[2011-08-12 07:48:19] php-bugs at nickshanks dot com

Description:
------------
Casting of certain floating-point values, containing just of an integer 
component 
and a zero fractional component, to an integer results in wrong value.

Test script:
---------------
echo '32.55' * 100;
echo "\n";
echo (int)('32.55' * 100);

Expected result:
----------------
3255
3255

Actual result:
--------------
3255
3254


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



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

Reply via email to