Bug #55409 [Com]: Casting floats containing an integer to ints gives wrong result

From: 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

« previous php.bugs (#162560) next »