Convert currency to decimal number JavaScript

Viewed 234

How can I convert currency string like this $123,456,78.3 to number like this 12345678.3 I tried to do using this pattern

let str = "$123,456,78.3";
let newStr = str.replace(/\D/g, '');

but it replaces . too.

3 Answers
var str = "$123,456,78.3";
var newStr = Number(str.replace(/[^0-9.-]+/g,""));

Use a lowercase d, and put it into a negated character group along with the ..

let str = "$123,456,78.3";
let newStr = str.replace(/[^\d.]/g, '');

console.log(newStr)

You can use a negative character group:

"$123,456,78.3".replace(/[^\d.]/g, "")
Related