【问题标题】:Trouble with javascript subtractionjavascript减法问题
【发布时间】:2010-03-21 05:54:15
【问题描述】:

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

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

【问题讨论】:

  • b - b.replace(regexp, ""); 应该是 b = b.replace(regexp, ""); -- 是这里的错字还是在您的原始代码中?
  • 抱歉,打错字了。我已经解决了这个问题。
  • 问题可能与“空”值有关吗?如果是这样,我将如何弥补?
  • 我决定 NIX 减法函数并在主函数中执行它......似乎有效。不知道为什么我无法让该功能按预期工作。

标签: javascript math subtraction


【解决方案1】:

只有当$ 后面紧跟, 时,您的正则表达式才会匹配。请改用/[$,]/g 来匹配所有出现的两个字符之一。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      相关资源
      最近更新 更多