Python allows us to format values to get the final result in our desired look. This article will discuss how we can format numbers in Python and add commas to them.
In this tutorial, all the methods discussed will use the commas as thousand separators.
Table of Contents
Using the format()
function to add commas to numbers in Python
The format()
function allows us to edit and specify the format for a string in Python. We can use it in Python 2.7 and above.
We need to specify the required format to add commas to numbers using this function.
See the code below.
1 2 3 4 |
a = 1600000 print('{:,}'.format(a)) |
Output:
The {:,}
is the required format and the final result is a string. The above code works with float values also. In Python 3.1 and above, the same function can be used in a different way to achieve the same result.
For example,
1 2 3 4 |
a = 1600000 print(format(a, ',d')) |
Output:
Further reading:
Using the fstrings
to add commas to numbers in Python
The fstrings
provide a quick and efficient way to format values in Python. It is a recent addition to Python, and is available in Python 3.7 and above.
With the format used in the previous method, we can add commas to the numbers.
For example,
1 2 3 4 |
a = 1600000 print(f"{a:,}") |
Output:
Using the regular expressions to add commas to numbers in Python
Regular expressions allow us to match a pattern on a string in Python. We can use the sub()
function with the required pattern to get the numbers in our desired format.
Remember to import the re
module to work with regular expressions.
See the following example.
1 2 3 4 5 |
import re a = 1600000 print(re.sub("(\d)(?=(\d{3})+(?!\d))", r"\1,", "%d" % a)) |
Output:
The sub()
function makes the necessary replacements to the value based on the pattern. The above method works only for integers. To work with float values, we have to use %f
instead of %d
in the function.
For example,
1 2 3 4 5 |
import re a = 1600000.56165 print(re.sub("(\d)(?=(\d{3})+(?!\d))", r"\1,", "%f" % a)) |
Output:
Using the locale
module to add commas to numbers in Python
The locale
module allows us to handle operations based on the location or the preference of the user. Such operations may involve the use of dates, currency, and other values which are regionally dependent. We can use it to add commas to numbers.
We can use the currency()
function to display the currency in any desired format. It will add the currency sign and the necessary commas. We will use the en_US
region.
For example,
1 2 3 4 5 6 7 |
import locale locale.setlocale( locale.LC_ALL, 'en_US' ) price = locale.currency(1600000, grouping = True) print(price) print(price[1:]) |
Output:
1,600,000.00
To remove the currency sign, we simply deleted the first character.
We can also use this module with the format()
function and fstrings
. This way, we do not have to specify the format.
See the code below.
1 2 3 4 5 6 7 |
import locale locale.setlocale( locale.LC_ALL, 'en_US') a = 1600000 print('{:n}'.format(a)) print(f'{a:n}') |
Output:
1,600,000
That’s all about how to add commas to number in Python.