Re: json_decode/encode should return full precision values by default
| From: | Ryan Pallas | Date: | Wed, 29 Jul 2015 23:35:10 +0000 |
| Subject: | Re: json_decode/encode should return full precision values by default | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-87380@lists.php.net to get a copy of this message | ||
On Wed, Jul 29, 2015 at 5:25 PM, Yasuo Ohgaki <yohgaki@ohgaki.net> wrote:
> Hi all,
>
> On Thu, Jul 30, 2015 at 7:44 AM, Yasuo Ohgaki <yohgaki@ohgaki.net> wrote:
>
> > On Thu, Jul 30, 2015 at 1:13 AM, Nikita Popov <nikita.ppv@gmail.com>
> > wrote:
> >
> >> Instead of continuing to use serialize_precision, which will produce
> >> unnecessarily long outputs for many values, why don't we just switch to
> >> using the 0 mode of zend_dtoa, i.e. to return the shortest output that
> is
> >> still accurate if interpreted in round-to-nearest. I think this is what
> >> everybody else is using when they convert floating point numbers to
> >> strings. I guess we may not be able to change normal floating point
> >> printing to use this, but this seems like the best mode for anything
> using
> >> serialize_precision now and everything that should be using it (like
> JSON,
> >> and queries, etc).
> >
> >
> > I prefer your proposal!
> > Your proposal is a lot better than now.
> > Anyone has opinion for this?
> >
> > I'm writing the RFC and I would like to make this the first option. i.e.
> > serialize_precision=0 uses "zend_dtoa 0 mode" for all data exchange
> > functions (json/serialize/var_exrport. Anyone care about WDDX/XML_RPC?)
> >
>
> I wrote draft RFC.
>
> https://wiki.php.net/rfc/precise_float_value
>
> Please comment. I would like to start RFC discussion shortly.
> Thank you.
>
My thought would be why not -1 to make it obvious it has special meaning?
When I see precision=0 I tend to think that means my numbers will be
returned as ints no matter what (there is zero fractional precision)
whereas this takes a valid value for precision and gives it special
meaning. I fully support your end game, but giving a valid value a special
meaning I do not like.
>
> --
> Yasuo Ohgaki
> yohgaki@ohgaki.net
>