ID: 10437
Updated by: zeev
Reported By: [EMAIL PROTECTED]
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] [EMAIL PROTECTED]

>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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

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


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to