Проблема с вычитанием JavaScript - PullRequest
0 голосов
/ 21 марта 2010

Я работаю над простой проблемой вычитания, но, к сожалению, она продолжает возвращаться NaN

Вот функция

   function subtraction(a, b) {
        var regexp = /[$][,]/g;

        a = a.replace(regexp, "");
        b = b.replace(regexp, "");


        var _a = parseFloat(a);
        var _b = parseFloat(b);

        return _a - _b;
     }

А вот как я это называю.

txtGoodWill.value = subtraction(txtSellingPrice.value, txtBalanceSheet.value);

Числа, которые передаются в функцию, являются ТОЛЬКО валютой (т.е.: $2,000 или $20 и т. Д.)

Теперь я знаю, что не могу вычесть числа с $ или ,, но я не могу понять, почему их оценивают в эквадии.

Ответы [ 2 ]

3 голосов
/ 21 марта 2010

Ваше регулярное выражение соответствует, только если за $ непосредственно следует ,. Вместо этого используйте /[$,]/g, чтобы сопоставить все вхождения любого из двух символов.

0 голосов
/ 21 марта 2010

Я думаю, вы хотите var regexp = /[$,]/g;$, и , внутри одного и того же набора квадратных скобок).

...