Подтвердить что ты не робот

Удалить запятые из строки, используя JavaScript

Я хочу удалить запятые из строки и рассчитать их с помощью JavaScript.

Например, у меня есть эти два значения:

  • 100 000,00
  • 500,000.00

Теперь я хочу удалить запятые из этой строки и хочу получить общее количество.

4b9b3361

Ответ 1

Чтобы удалить запятые, вам нужно будет использовать replace в строке. Чтобы преобразовать в float, чтобы вы могли выполнить математику, вам понадобится parseFloat:

var total = parseFloat('100,000.00'.replace(/,/g, '')) +
            parseFloat('500,000.00'.replace(/,/g, ''));

Ответ 2

Связанный ответ, но если вы хотите запустить очистку ввода значений пользователем в форму, вот что вы можете сделать:

const numFormatter = new Intl.NumberFormat('en-US', {
  style: "decimal",
  maximumFractionDigits: 2
})

// Good Inputs
parseFloat(numFormatter.format('1234').replace(/,/g,"")) // 1234
parseFloat(numFormatter.format('123').replace(/,/g,"")) // 123

// 3rd decimal place rounds to nearest
parseFloat(numFormatter.format('1234.233').replace(/,/g,"")); // 1234.23
parseFloat(numFormatter.format('1234.239').replace(/,/g,"")); // 1234.24

// Bad Inputs
parseFloat(numFormatter.format('1234.233a').replace(/,/g,"")); // NaN

// Edge Cases
parseFloat(numFormatter.format(true).replace(/,/g,"")) // 1
parseFloat(numFormatter.format(false).replace(/,/g,"")) // 0
parseFloat(numFormatter.format(NaN).replace(/,/g,"")) // NaN

Используйте международную дату по местному времени через format. Это очищает любые плохие входы. В настоящее время нет способа удалить запятые как часть локали (по состоянию на 10.12.19), поэтому вы можете использовать команду regex для удаления запятых с помощью replace.

ParseFloat преобразует определение этого типа из строки в число