Concatenated numerical literals

  • Thread starter Per Erik Stendahl
  • Start date
P

Per Erik Stendahl

Hi,

I wish I could write large integers (and floats, etc) like
this in Python:

10 000 000

Kind of the same way I can write string literals today.
(As in 'This' 'is' 'one' 'string'.)

Has there been any discussion on this? I find myself wishing
for this at least once a week, since it really helps readability.
It doesn't seem like a big implementation either.

Any comments?

Regards,
Per Erik Stendahl,
Uppsala, Sweden
 
L

Larry Bates

I took a function that I wrote to format floats with
commas and currency symbol and hacked it a little to make
it work with your spaces. You should be able to take it
and with little modifications make it work for you.

-Larry

def fmt_currency(amount):
import types, string
'''
This function will take the number passed to it and format it as US
Currency with floating $ sign, comma separators and two decimal places
'''
thousands_sep=" "
currency="$"
#
# Check to see if I got a number or a string
#
if type(amount) == types.StringType:
#
# Check to see if I got an empty string, return $0.00
#
if amount == '': amount=0
else: amount=string.atof(amount)

temp="%.2f" % amount
outstring=temp[len(temp)-4:]
if len(temp)==4: return currency+outstring
digits=list(temp[0:len(temp)-4])
digits.reverse()
#print digits
cpos=1
for c in digits:
outstring=c+outstring
cpos=cpos+1
if cpos%3 == 0: outstring=thousands_sep+outstring
#
# Check to see if comma is first character of the formatted string
# if it is strip it off.
#
if outstring.startswith(thousands_sep): outstring=outstring[1:]
return currency+outstring

if __name__=="__main__":
print fmt_currency(0.12)
print fmt_currency(123.45)
print fmt_currency(123456789.01)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top