Raymond Hettinger wrote:


Motivation:

    Provide a simple, non-locale aware way to format a number
    with a thousands separator.

    Adding thousands separators is one of the simplest ways to
    improve the professional appearance and readability of
    output exposed to end users.

    In the finance world, output with commas is the norm.  Finance
users
    and non-professional programmers find the locale approach to be
    frustrating, arcane and non-obvious.

    It is not the goal to replace locale or to accommodate every
    possible convention.  The goal is to make a common task easier
    for many users.


Raymod, I think there are several problems with the Motivations:

>     The goal is to make a common task easier
>     for many users.

Common task, for most people, means formatting numbers to the locale. We should make converting numbers to locale easier to use, as easy as calling a magic function that can convert the current object to the locale representation or as simple as defining locale ID in the mini language. This proposal, I believe, is for the _less_ common task of formatting a number to a custom format not generally used anywhere else in the world (like formatting a number to form an ipv6 address or formatting a number to html/TeX code[1]).

[1] I know one mathematic textbook that uses superscript negative for negative number to disambiguate it with minus sign.

>     In the finance world, output with commas is the norm.

I can't cite any source, but I am skeptical with that. And how about non-finance world? Scientific world? Pure math world?

>     Provide a simple, non-locale aware way to format a number
>     with a thousands separator.

Many have pointed out, locale is hard to use, this is easier approach but pity it is not locale aware. If we want to provide a non-locale aware formatting, we must make it flexible enough to make it the "Ultimate Formatter". Otherwise it will just be redundant to locale.

>     Adding thousands separators is one of the simplest ways to
>     improve the professional appearance and readability of
>     output exposed to end users.

There are infinitely many approach to numbers. One Singaporean text book uses half-width space as thousand separator. One Autralian text book uses superscript minus for negative numbers (which I believe would require more than Unicode to represent, TeX or PDF perhaps). The accounting world sometimes uses colors and parentheses to denote negative numbers (this requires emmiting codes for the layout program: HTML, TeX, PDF)

Anything less powerful than my proposed "Crossing Mayan line" is just a harder alternative for locale module.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to