dsimard dsimard - 2 months ago 7
Python Question

How do I use Python to convert a string to a number if it has commas in it as thousands separators?

I have a string that represents a number which uses commas to separate thousands. How can I convert this to a number in python?

>>> int("1,000,000")


Generates a
ValueError
.

I could replace the commas with empty strings before I try to convert it, but that feels wrong somehow. Is there a better way?

Answer
import locale
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' ) 
locale.atoi('1,000,000')
# 1000000
locale.atof('1,000,000.53')
# 1000000.53