jaroslaw(dot)stoklosa(at)nomino(dot)pl writes:
> +0 and -0 should be casted to +0 or 0.
On what grounds? The behavior seems sensible to me:
regression=# select cast('-0' as FLOAT);
float8
--------
-0
(1 row)
regression=# select cast('-0' as FLOAT)::text;
text
------
-0
(1 row)
If we do what you suggest, casting to text would be different from the
type's I/O conversion, which seems strange, and definitely isn't what
most other casts to text do.
regards, tom lane