Re: floating point output

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: floating point output
Дата
Msg-id 3868.1568005386@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: floating point output  (Rob Sargent <robjsargent@gmail.com>)
Ответы Re: floating point output  ("Peter J. Holzer" <hjp-pgsql@hjp.at>)
Список pgsql-general
Rob Sargent <robjsargent@gmail.com> 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
Дата:
Сообщение: Re: PG11.2 - wal_level =minimal max_wal_senders = 0