Re: Bug #51739 tricky string to float conversion

From: Date: Wed, 31 Aug 2011 18:48:37 +0000
Subject: Re: Bug #51739 tricky string to float conversion
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-314683@lists.php.net to get a copy of this message
On 08/31/2011 09:03 AM, magic-php@damage.devloop.de wrote: > Hi, > I have opend Bug #51739 in 2010. It was closed as bogus before my last > question was answered. It would be fine to know what you think about > that bug. > In short: > var_dump((float)"8315e839da08e2a7afe6dd12ec58245d"); > results in float(INF) > This is because "8315" is treated as base and > "e839da08e2a7afe6dd12ec58245d" is treated as an exponent. My hint that > "e839da08e2a7afe6dd12ec58245d" is not a valid exponent was not answered. > What do you think about? > cheers > Daniel The cast to float is truncating the invalid characters and since your string contains a float that is INF (8315e839) before the truncation at the "d", then it returns INF. Makes perfect sense. -- Thanks! -Shawn http://www.spidean.com

« previous php.general (#314683) next »