Search code examples
pythonstring

Add commas into number string


I have a value running through my program that puts out a number rounded to 2 decimal places at the end, like this:

print ("Total cost is: ${:0.2f}".format(TotalAmount))

Is there a way to insert a comma value every 3 digits left of the decimal point?

e.g. 10000.00 becomes 10,000.00 or 1000000.00 becomes 1,000,000.00.


Solution

  • In Python 2.7 and 3.x, you can use the format syntax :,

    >>> total_amount = 10000
    >>> print("{:,}".format(total_amount))
    10,000
    
    >>> print("Total cost is: ${:,.2f}".format(total_amount))
    Total cost is: $10,000.00
    

    This is documented in PEP 378 -- Format Specifier for Thousands Separator and has an example in the Official Docs "Using the comma as a thousands separator"