Generalize the decimal separator thing.
And get rid of that awful C++ locale thing.
Oops again.