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

В JavaScript/jQuery каков наилучший способ преобразования числа с запятой в целое число?

Я хочу преобразовать строку "15,678" в значение 15678. Методы parseInt() и parseFloat() возвращают 15 для "15 678". Есть ли простой способ сделать это?

4b9b3361

Ответ 1

Самый простой вариант - удалить все запятые: parseInt(str.replace(/,/g, ''), 10)

Ответ 2

Один из способов - удалить все запятые с помощью:

strnum = strnum.replace(/\,/g, '');

а затем передать это parseInt:

var num = parseInt(strnum.replace(/\,/g, ''), 10);

Но вам нужно быть осторожным здесь. Использование запятых в качестве разделителей тысяч - это культурная вещь. В некоторых областях число 1,234,567.89 будет записано 1.234.567,89.

Ответ 3

Если у вас есть только числа и запятые:

+str.replace(',', '')

+ строит строку str в число, если это возможно. Чтобы сделать это как можно более ясным, оберните его с помощью parens:

(+str.replace(',', ''))

поэтому, если вы используете его в выражении, то он более визуально визуально (+ + x выглядит очень похоже на ++ x):

var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));

Соглашения о JavaScript-кодах (см. "Сбивающие с толку плюсы и минусы", вторая часть снизу):

http://javascript.crockford.com/code.html

Ответ 4

Вы можете сделать это следующим образом:

var value = parseInt("15,678".replace(",", ""));

Ответ 5

Используйте регулярное выражение для удаления запятых перед разбором, например

parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))

Вы можете протестировать его здесь.