Jquery数据表格式编号

时间:2014-12-09 13:44:27

标签: jquery jquery-datatables

我使用最新的Datatables插件1.10版本。

我有3列(0,1,2)。 第1列和第2列包含的数字应格式为:

1000 -> 1.000
10000 -> 10.000

我搜索了文档,发现了这些相关的功能:

https://datatables.net/reference/option/formatNumber

https://datatables.net/reference/option/language.thousands

是否需要自动检测需要格式化的列?

上述功能的正确用法是什么?

3 个答案:

答案 0 :(得分:15)

实际上有更简单的方法,也可以在datatables文档中找到:

        "columns": [
            { "data": "ReceiptQuantity", render: $.fn.dataTable.render.number(',', '.', 2, '') },
            { "data": "ReceiptPrice", render: $.fn.dataTable.render.number(',', '.', 2, '') },
            { "data": "LineTotal", render: $.fn.dataTable.render.number(',', '.', 2, '') }
        ],

答案 1 :(得分:3)

$('#table-dg').dataTable({
    "columns": columnNames,
    "columnDefs": [
        {
            "render": function (data, type, row) {
                 return commaSeparateNumber(data);
            },
            "targets": [1,2]
        },
    ]
});

function commaSeparateNumber(val) {
    while (/(\d+)(\d{3})/.test(val.toString())) {
        val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2');
    }
    return val;
}

答案 2 :(得分:0)

正如我在评论中提到的,你必须做这样的事情

内部数据表初始化

 "aoColumnDefs": [ {
      "aTargets": [ 2 ],
    "mRender": function (data, type, full) {
     var formmatedvalue=data.replace(//regex expression)
      return formmatedvalue;
    }
}]