On 28 August 2017 at 22:53, Tom Lane <[email protected]> wrote:
> Erwin Brandstetter <[email protected]> writes:
> > On 21 August 2017 at 16:30, David G. Johnston <
> [email protected]>
> > wrote:
> >> On Mon, Aug 21, 2017 at 5:36 AM, Erwin Brandstetter <[email protected]
> >
> >> wrote:
> >>> The example fails for locales where the comma (',') does not happen to
> be
> >>> the group separator and the dot ('.') is not the decimal point.
>
> >> If one wants to try the example in a language other than in which the
> >> example was written they should modify it so that the literal number
> being
> >> parsed in written in conformance to the locale definition for the
> language
> >> you are using.
>
> > I guess there should be some more explanation.
>
> Yeah. How about adding something like this to the "Usage notes for
> numeric formatting" between tables 9-26 and 9-27:
>
> * The pattern characters S, L, D, and G represent the sign,
> currency symbol, decimal point, and thousands separator characters
> defined by the current locale (see lc_monetary and lc_numeric).
> The pattern characters period and comma represent those exact
> characters, with the meanings of decimal point and thousands
> separator, regardless of locale.
>
>
That should help to clear up some confusion, especially for to_number(). I
suggest some minor modifications:
* The pattern characters S, L, D, and G represent the sign,
currency symbol, decimal point, and group separator characters
defined by the current locale (see lc_monetary and lc_numeric).
The pattern characters period (.) and comma (,) represent decimal
point and group
separator, regardless of locale.
Regards
Erwin Brandstetter