如何从tds添加多个字符串?

时间:2019-10-29 17:03:36

标签: javascript

我正在尝试添加多个美元金额的字符串。我从parseFloat中获得了NaN进行转换,但是我删除了美元符号和任何逗号。有什么建议吗?

我尝试仅添加不带parseFloat的字符串,但是我只是得到一个串联的字符串。

function calculateTotalCost()
{
    var amt;
    var subTotal;

    for(i=1; i < 9; i++)
    {
        amt = document.getElementById("cphMain_gridPC").rows[i].cells[1].innerHTML;
        var amtNum = amt.replace('$', '');
        var amtF = amtNum.replace(',', '');
        if(isNaN(amtF))
        {
            subTotal += 0.00;
        }
        else
        {
            subTotal += parseFloat(amtF);
            alert(subTotal);
        }
    }
    alert(subTotal);
}

我希望将subTotal或每个tds值加在一起。

1 个答案:

答案 0 :(得分:2)

使用类似的replace方法仅替换字符串中该模式的 first 实例。可能发生的情况是,“ 3,000,000”之类的数字被更改为“ 3000,000”,这就是为什么您仍然得到isNaN(amtF)=== true的原因。

尝试一下:

var amtF = amtNum.replace(/,/g, '');

用斜杠代替引号表示您正在搜索正则表达式模式,该模式还允许您使用 g 标志。这代表 global ,表示该模式的所有实例将被替换。

编辑:  这个问题很可能是您忘记了将小计初始化为零。更改此:

var subTotal;

对此:

var subTotal = 0;