Bug #55409 [Com]: Casting floats containing an integer to ints gives wrong result
| From: | laruence@php.net | Date: | Sat, 13 Aug 2011 10:38:31 +0000 |
| Subject: | Bug #55409 [Com]: Casting floats containing an integer to ints gives wrong result | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-162560@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=55409&edit=1
ID: 55409
Comment by: laruence@php.net
Reported by: php-bugs at nickshanks dot com
Summary: Casting floats containing an integer to ints gives
wrong result
Status: Open
Type: Bug
Package: Math related
Operating System: Irrelevant
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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