Prev: 100% without investment online part time jobs..(adsense,datawork,neobux..more jobs)
Next: ██▓▒░░ *** CREDIT CARD *** ░▒░▒▓██
From: Steven D'Aprano on 5 Aug 2010 04:29 On Thu, 05 Aug 2010 00:22:57 -0700, geremy condra wrote: >>>>> locale.setlocale(locale.LC_ALL, "") >> 'de_DE.UTF-8' >>>>> print locale.currency(13535, grouping=True) >> 13.535,00 € >>>>> print locale.format("%d", 13535, grouping=True) >> 13.535 >> >> Peter > > I had literally no idea this existed. Thanks. I knew it existed, but completely forgot about it. Thanks also Peter. -- Steven
From: Chris Withers on 5 Aug 2010 07:06 Peter Otten wrote: >>>> locale.setlocale(locale.LC_ALL, ("en_US", "UTF-8")) > 'en_US.UTF8' >>>> print locale.currency(13535, grouping=True) > $13,535.00 Okay, so if I'm writing a wsgi app, and I want to format depending on the choices of the currently logged in users, what would you recommend? I can't do setlocale, since that would affect all users, and in a mult-threaded environment that would be bad. Does that mean the whole locale package is useless to all web-app builders? Chris
From: DarkBlue on 5 Aug 2010 07:56 On Aug 5, 7:06 pm, Chris Withers <ch...(a)simplistix.co.uk> wrote: > Peter Otten wrote: > >>>> locale.setlocale(locale.LC_ALL, ("en_US", "UTF-8")) > > 'en_US.UTF8' > >>>> print locale.currency(13535, grouping=True) > > $13,535.00 > > Okay, so if I'm writing a wsgi app, and I want to format depending on > the choices of the currently logged in users, what would you recommend? > > I can't do setlocale, since that would affect all users, and in a > mult-threaded environment that would be bad. > > Does that mean the whole locale package is useless to all web-app builders? > > Chris from re import * class editmoney(float): def __init__(self,mymoney): self.mymoney = mymoney def __str__(self): temp = "%.2f" % self.mymoney profile = compile(r"(\d)(\d\d\d[.,])") while 1: temp, count = subn(profile,r"\1,\2",temp) if not count: break return temp
From: Peter Otten on 5 Aug 2010 08:27 Chris Withers wrote: > Peter Otten wrote: >>>>> locale.setlocale(locale.LC_ALL, ("en_US", "UTF-8")) >> 'en_US.UTF8' >>>>> print locale.currency(13535, grouping=True) >> $13,535.00 > > Okay, so if I'm writing a wsgi app, and I want to format depending on > the choices of the currently logged in users, what would you recommend? > > I can't do setlocale, since that would affect all users, and in a > mult-threaded environment that would be bad. > > Does that mean the whole locale package is useless to all web-app Blame it on the C guys ;) I've seen http://babel.edgewall.org/wiki/Documentation/intro.html http://babel.edgewall.org/wiki/ApiDocs/babel.numbers http://babel.edgewall.org/wiki/BabelFaq#WhatalternativesexistforPythonprojects mentioned here but not yet tried it myself. Peter
From: John Posner on 5 Aug 2010 10:01
On 8/5/2010 12:33 AM, John Nagle wrote: > There's got to be a better way to do this: > > > def editmoney(n) : > return((",".join(reduce(lambda lst, item : (lst + [item]) if > item else lst, > re.split(r'(\d\d\d)',str(n)[::-1]),[])))[::-1]) > Here's a more elegant variant, using regexp lookahead: def thous_format(integer_string): """ add comma thousands separator(s) to an integer-valued string """ return re.sub(r'(\d{3})(?=\d)', r'\1,', integer_string[::-1])[::-1] I *thought* that I had found this on python-list on or about July 5, but I didn't find the thread after a search through the archives. -John |