Re: floating point output

Поиск
Список
Период
Сортировка
Искать
От
Tom Lane
Тема
Re: floating point output
Дата
Msg-id
3868.1568005386@sss.pgh.pa.us
Ответ на
Список
Дерево обсуждения
floating point output Rob Sargent <robjsargent@gmail.com>
Re: floating point output Adrian Klaver <adrian.klaver@aklaver.com>
Re: floating point output Luca Ferrari <fluca1978@gmail.com>
Re: floating point output Rob Sargent <robjsargent@gmail.com>
Re: floating point output Rob Sargent <robjsargent@gmail.com>
Re: floating point output Tom Lane <tgl@sss.pgh.pa.us>
Re: floating point output "Peter J. Holzer" <hjp-pgsql@hjp.at>
Rob Sargent  writes:
> Below I show a floating point column from a recent query.  

> Here's my guess at what's happening in the formatting:
>   1) scientific notation if smaller than 1.0e-04 (I’m not in the very-much-larger-than-one world)
>   2) 15 digits after the most signicant 0
>   3) remove trailing zeros

> I may be alone in this but I find the presentation messy and that's
> unusual in the PostgreSQL world.

In released versions of Postgres, float8out basically devolves to
sprintf with "%.15g" format, and the above is what POSIX says that
should do.

As of v12, we'll use the "Ryu" output algorithm, which adjusts
the number of displayed digits to ensure that the value will
re-load exactly by default.  I'm afraid that will probably make
your complaint about variable numbers of digits worse not better.
It's unlikely anybody will entertain an argument to undo it,
though, because (a) Ryu is faster than the old code, and (b) it's
hard to argue against ensuring that output/input preserves values.

You might consider using type "numeric" if you find truncation
of low-order zeroes undesirable.

			regards, tom lane


В списке pgsql-general по дате отправления
От: Rob Sargent
Дата:
Сообщение: Re: floating point output
От: Luca Ferrari
Дата:
FAQ