以货币格式添加表格列

时间:2017-01-29 08:16:22

标签: jquery

我使用此代码来获取一列的总数,但它没有正确计算

预期产量:13,500.00 目前输出:13

我认为问题在于数字的格式,但我不知道如何处理它。

 <table id="sum_table" width="300" border="1">
        <tr class="titlerow">
            <td>Col 1</td>
        </tr>
        <tr>
            <td class="amount">6,000.00</td>
        </tr>
        <tr>
            <td class="amount">1,500.00</td>
        </tr>
        <tr>
            <td class="amount">6,000.00</td>
        </tr>
    </table>
            <div id="total"></div>
    <script>
    var theTotal = 0;
    $(".amount").each(function () {
        theTotal += parseInt($(this).html());
    });
    $("#total").html(theTotal);
    </script>

1 个答案:

答案 0 :(得分:2)

您需要从字符串中替换,以正确解析字符串。

theTotal += Number($(this).html().replace(/,/g,''));
// or remove all character except digit and dot
theTotal += Number($(this).html().replace(/[^\d.]/g,''));

更新:稍后通过将总数转换为字符串来转换为货币格式。

 $("#total").html(theTotal.toString().replace(/\d(?=(?:\d{3})+$)/g,'$&,'))
 // or with 2 decimal point
 $("#total").html(theTotal.toFixed(2).replace(/\d(?=(?:\d{3})+\.)/g,'$&,'))