Re: sprintf() oddness
| From: | Per Jessen | Date: | Sat, 01 Dec 2007 16:28:53 +0000 |
| Subject: | Re: sprintf() oddness | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-265360@lists.php.net to get a copy of this message | ||
Jochem Maas wrote:
> Per Jessen wrote:
>> Christoph Boget wrote:
>>
>>> Why does
>>>
>>> sprintf( '%.03f', 0.15250000 )
>>> return 0.152 while
>>> sprintf( '%.03f', 0.15750000 )
>>> return 0.158?
>
> most likely it's an artifact of the fact that
> the binary representations of those floating point
> values are not exact e.g. 0.1575 is represented
> in binary as something like 0.157500001
>
> something like that.
I just tried it in plain C - same result.
/Per Jessen, Zürich