leodutra
7/5/2012 - 11:42 PM

A currency / decimal / float parser for JavaScript

A currency / decimal / float parser for JavaScript

function parseNumber(str)
{
    str = (str + '').replace(/[^\d,.-]/g, '')    // just digits, separators and sign
    var sign = str.charAt(0) === '-' ? '-' : '+' // store sign
    var minor = str.match(/[.,](\d+)$/)          // filter decimals
    str = str.replace(/[.,]\d*$/, '').replace(/\D/g, '')      // remove decimals and any integer separator
    return Number(sign + str + (minor ? '.' + minor[1] : '')) // build number
}