On Mon, 2004-11-22 at 11:08 -0500, Tom Lane wrote:
> Stephan Szabo <sszabo@megazone.bigpanda.com> writes:
> > No, but I think you're supposed to use FM in such cases.
> >
> > select to_number(1000, 'FM999,999');
>
> Good point --- I had forgot about FM. In that case there *is* a bug
> here, but I'm not sure if it's with to_char or to_number:
>
> regression=# select to_number(to_char(1000, 'FM999,999'),'FM999,999');
> to_number
> -----------
> 1000
> (1 row)
>
> regression=# select to_number(to_char(1000, '999,999'),'999,999');
> to_number
> -----------
> 100
> (1 row)
It's to_number() bug. I'm not sure if now (before release) is good time
to fix it. The code of to_number() is not stable for changes and maybe
we can fix this bug add some other new...
I already work on new version for next release. It will use
unit-tests -- I hope it will prevent a lot of bugs like this.
> Whatever your opinion is about the behavior of the non-FM format, surely
> to_char and to_number should be inverses.
Yes.
Karel
--
Karel Zak
http://home.zf.jcu.cz/~zakkr