Here is an example for a parser that supports locales:
function parseLocaleNumber(stringNumber) { var thousandSeparator = (1111).toLocaleString().replace(/1/g, ''); var decimalSeparator = (1.1).toLocaleString().replace(/1/g, ''); return parseFloat(stringNumber .replace(new RegExp('\\' + thousandSeparator, 'g'), '') .replace(new RegExp('\\' + decimalSeparator), '.') ); }
It uses the current browser locale to replace thousands and decimal separators.
With German installation
var n = parseLocaleNumber('1.000.045,22');
n will be equal to 1000045.22 .
source share