[Bug 1901770] Re: n_sign_posn from localeconv wrong for en_US locale

Steve Langasek 1901770 at bugs.launchpad.net
Wed Oct 28 03:21:55 UTC 2020


Indeed, declaring that a leading minus sign is "wrong", and parentheses
are "right", for the US locale, is not supported by common usage. Both
are widely used in different contexts, and Ubuntu does not deviate from
the upstream behavior.

We are also certainly not going to change the behavior on the 2-year-old
stable release that you reported this against.

To have this changed for future releases, please discuss with upstream
as suggested.

** Changed in: glibc (Ubuntu)
       Status: New => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1901770

Title:
  n_sign_posn from localeconv wrong for en_US locale

Status in glibc package in Ubuntu:
  Won't Fix

Bug description:
  NAME="Ubuntu"
  VERSION="18.04.4 LTS (Bionic Beaver)"

  The `n_sign_posn` from `localeconv()` is wrong for the en_US locale.
  This means that Accounting formats will put a negative sign before the
  value instead of wrapping the value in parens.  Code:

      python
      Python 3.6.9 (default, Jul 17 2020, 12:50:27)
      [GCC 8.4.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import locale
      >>> locale.setlocale(locale.LC_ALL, 'en_US')
      'en_US'
      >>> locale.localeconv()
      {'int_curr_symbol': 'USD ', 'currency_symbol': '$', 'mon_decimal_point': '.', 'mon_thousands_sep': ',', 'mon_grouping': [3, 3, 0], 'positive_sign': '', 'negative_sign': '-', 'int_frac_digits': 2, 'frac_digits': 2, 'p_cs_precedes': 1, 'p_sep_by_space': 0, 'n_cs_precedes': 1, 'n_sep_by_space': 0, 'p_sign_posn': 1, 'n_sign_posn': 1, 'decimal_point': '.', 'thousands_sep': ',', 'grouping': [3, 3, 0]}
      
      
  Here is the Windows version:
      
      {'int_curr_symbol': 'USD', 'currency_symbol': '$', 'mon_decimal_point': '.', 'mon_thousands_sep': ',', 'mon_grouping': [3, 0], 'positive_sign': '', 'negative_sign': '-', 'int_frac_digits': 2, 'frac_digits': 2, 'p_cs_precedes': 1, 'p_sep_by_space': 0, 'n_cs_precedes': 1, 'n_sep_by_space': 0, 'p_sign_posn': 3, 'n_sign_posn': 0, 'decimal_point': '.', 'thousands_sep': ',', 'grouping': [3, 0]}

  The correct value (0) means that negative numbers get wrapped in ( ).
  The ubuntu value of 1 means that a minus sign precedes the value.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1901770/+subscriptions



More information about the foundations-bugs mailing list