如何在括号中显示减去货币

时间:2014-03-11 13:57:12

标签: javascript jquery

我有变量,这是$符号后的负数(实际上它显示带货币符号的货币)。请告诉我如何用货币符号在括号中显示减去货币。我的意思是说如何改变var val =($ 125,220,328.00)

我的代码看起来像这样

function addCommas(nStr)
{
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

function netAmount(){
    var net_amount =0;
    $('#productList tr:gt(1)').each(function() {
        var row_index= $(this).index();
        var qty= $('#productList tr:eq('+row_index+') td input[name="quantity"]').val().replace( /[^0-9\.]/g, '' );
        var price= $('#productList tr:eq('+row_index+') td input[name="purchase_price"]').val().replace( /[^0-9\.]/g, '' );
        net_amount+= +(parseFloat(qty*price).toFixed(2));
        $('input[name="net_ammount"]').val('$'+ addCommas(parseFloat(net_amount).toFixed(2)));

    });
}

现在我想如果net_amount看起来像-123225.32那么它在输入[name =" net_ammount"]中显示为($ 123,225.32)

1 个答案:

答案 0 :(得分:0)

您的正则表达式与减号不匹配,因此未在替换中添加。将正则表达式更改为:

var rgx = /(-?\d+)(\d{3})/;