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);

関数に送信される番号は、通貨のみです(IE:$2,000または$20など)

$今、私はaまたはaで数値を引くことができないことを知っていますが,、私は一生の間、それらが赤道で評価されている理由を理解することはできません。

4

2 に答える 2

3

正規表現は、aの$直後に。が続く場合にのみ一致し,ます。/[$,]/g代わりに、2つの文字のいずれかが出現するすべての文字を一致させるために使用します。

于 2010-03-21T06:00:08.697 に答える
0

私はあなたが望むと思います(同じ角括弧のセット内の と の両方var regexp = /[$,]/g;) 。$,

于 2010-03-21T06:15:05.843 に答える