Bug #10437 Updated: casting is not consistent

From: Date: Sat, 19 May 2001 21:42:44 +0000
Subject: Bug #10437 Updated: casting is not consistent
Groups: php.dev 
Request: Send a blank email to php-dev+get-55923@lists.php.net to get a copy of this message
ID: 10437 Updated by: jeroen Reported By: goba@php.net Status: Analyzed Bug Type: Strings related Operating system: PHP Version: 4.0.4pl1 Assigned To: Comments: 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! Previous Comments: --------------------------------------------------------------------------- [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. --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=10437&edit=2

« previous php.dev (#55923) next »