On 1/09/2011, at 8:43 PM, magic-...@damage.devloop.de wrote: > Simon J Welsh writes: >> On 1/09/2011, at 9:53 AM, magic-...@damage.devloop.de wrote: >>> Am Mittwoch, 31. August 2011, 20:48:37 schrieb Shawn McKenzie: >>>> On 08/31/2011 09:03 AM, magic-...@damage.devloop.de wrote: >>>>> var_dump((float)"8315e839da08e2a7afe6dd12ec58245d"); >>>>> results in float(INF) >>>> 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. >>> If I use a string in PHP I don't want PHP to cut this string. Either it >>> uses this string as it is or it gives me an error/warning/false (what >>> ever...). But silently(!!!) using a small piece of a string is not >>> understandable. >> The manual clearly states this is how a string is converted into a number: >> http://php.net/manual/en/language.types.string.php#language.types.string.conversion >> "The value is given by the initial portion of the string. If the string >> starts with valid numeric data, this will be the value used. Otherwise, the >> value will be 0 (zero). Valid numeric data is an optional sign, followed by >> one or more digits (optionally containing a decimal point), followed by an >> optional exponent. The exponent is an 'e' or 'E' followed by one or more >> digits." If you don't want the string turned into a number using the >> documented method, don't use it as one. > > Ok, then let's discuss the documented behavior ;-) > Do you (not the document) really like this behavior? I mean if I am the only > one wondering about that behavior it is ok for me. I just want to help PHP. > cheers > Daniel
Yes, I think the way it works is correct. It follows similar conversions when changing from a data type that allows more data to one that allows less. Similar things happen when converting from a floating point to integral value. It also directly correlates to the C functions for doing the same thing (atof, strtod, the like). --- Simon Welsh Admin of http://simon.geek.nz/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php