[Python-checkins] CVS: python/dist/src/Lib locale.py,1.11,1.12

Martin v. Löwis loewis@users.sourceforge.net
Sun, 21 Jan 2001 10:52:35 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv14846

Modified Files:
	locale.py 
Log Message:
In format(), consider sign only after grouping.
Suggested by Kevin Jacobs in bug report #129417.


Index: locale.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/locale.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** locale.py	2000/07/16 12:04:30	1.11
--- locale.py	2001/01/21 18:52:33	1.12
***************
*** 116,129 ****
      but takes the current locale into account.
      Grouping is applied if the third parameter is true."""
!     result = f % val
!     fields = string.split(result, ".")
      if grouping:
          fields[0]=_group(fields[0])
      if len(fields)==2:
!         return fields[0]+localeconv()['decimal_point']+fields[1]
      elif len(fields)==1:
!         return fields[0]
      else:
          raise Error, "Too many decimal points in result string"
  
  def str(val):
--- 116,134 ----
      but takes the current locale into account.
      Grouping is applied if the third parameter is true."""
!     result = f % abs(val)
!     fields = result.split(".")
      if grouping:
          fields[0]=_group(fields[0])
      if len(fields)==2:
!         res = fields[0]+localeconv()['decimal_point']+fields[1]
      elif len(fields)==1:
!         res = fields[0]
      else:
          raise Error, "Too many decimal points in result string"
+ 
+     if val < 0:
+         return '-'+res
+     else:
+         return res
  
  def str(val):