Bug #10437 Updated: casting is not consistent

From: Date: Mon, 13 Aug 2001 00:24:55 +0000
Subject: Bug #10437 Updated: casting is not consistent
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-63033@lists.php.net to get a copy of this message
ID: 10437 Updated by: zeev Reported By: goba@php.net Old Status: Analyzed Status: Closed Bug Type: Scripting Engine problem Operating System: win2k PHP Version: 4.0.4pl1 New Comment: Fixed in the CVS (will be a part of 4.0.7). Thanks for the bug report! Previous Comments: ------------------------------------------------------------------------ [2001-05-19 17:42:44] jeroen@php.net From line 117 of zend_operators.c it says: If the string is nor an exact double, nor an exact long, do strtol on it. There you should first try strtod, see if it parses more chars that strtol... And I don't know anything about C! ------------------------------------------------------------------------ [2001-05-19 17:22:30] jeroen@php.net Strange indeed. There are explicit casts (either to double or to int) and implicit casts. You can view upon the latter one as a (number) cast, it casts to a number, maybe int, maybe float. In that cast strings like '5.31abc' are not detected as double, (invaled numbers after the dot) so integer parsing takes place, which yields the int 5. This should be corrected in Zend. ------------------------------------------------------------------------ [2001-04-22 04:06:03] goba@php.net Casting is not consistent with doubles: $foo = "5.31abc"; $foo2 = (double) $foo; $foo3 = $foo + 0; The first gives 5.31 the second gives 5, although it should notice the full 5.31 number in the string. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=10437&edit=1

« previous php.dev (#63033) next »