Re: Dumb Question - Casting
| From: | Ashley Sheridan | Date: | Thu, 18 Feb 2010 15:50:19 +0000 |
| Subject: | Re: Dumb Question - Casting | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-302174@lists.php.net to get a copy of this message | ||
On Thu, 2010-02-18 at 09:47 -0600, Chuck wrote:
> Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
> rusty.
>
> Can someone explain why the second expression in this code snippet evaluates
> to 7 and not 8?
>
> $a = (int) (0.1 +0.7);
>
> echo "$a\n";
>
> $x = (int) ((0.1 + 0.7) * 10);
>
> echo "$x\n";
>
> $y = (int) (8);
>
> echo "$y\n";
It works as expected if you take out the int() parts in each line. I'm
not sure why, but the use of int() seems to be screwing around with the
results. That's why the first line outputs a 0.
Thanks,
Ash
http://www.ashleysheridan.co.uk