0

我正在研究一个简单的减法问题,但不幸的是它一直在返回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等)

现在我知道我不能用 a$或 a减去数字,,但我终其一生都无法弄清楚为什么它们会在等式中得到评估。

4

2 回答 2

3

您的正则表达式仅在 a$后跟. 时才匹配,/[$,]/g改为使用匹配两个字符中任何一个的所有出现。

于 2010-03-21T06:00:08.697 回答
0

我想你想要var regexp = /[$,]/g;(在同一组方括号内)$,

于 2010-03-21T06:15:05.843 回答