In theory, if your locale is set correctly, the printing and scanning functions for number should all input and output currency format. So if you take "$5,200.00" and read it into an appropriate variable (an awk of python number, which is by default a floating point, or use C's scanf with an appropriate format), it should just work. In theory, there should be no need to use string substitution to remove the commas first.
In practice, internationalization and localization, in particular where currency values are concerned, is halfway between a disaster and a minefield. And since the automatic mechanisms don't work half the time, people get into the bad habit of doing it by hand.