Jquery数据表格式编号

gos*_*som 7 jquery jquery-datatables

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

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

1000 -> 1.000
10000 -> 10.000
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

Jus*_*ing 19

实际上有更简单的方法,也可以在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, '') }
        ],
Run Code Online (Sandbox Code Playgroud)

  • 这里是文档:https://datatables.net/manual/data/renderers#Built-in-helpers。我在定位时遇到了一些困难,因此认为该链接可能会对其他人有所帮助。 (2认同)

小智 5

$('#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;
}
Run Code Online (Sandbox Code Playgroud)

  • 欢迎使用 stackoverflow!回答问题时,最好在您提供的回答代码中添加说明。 (7认同)

sup*_*ool 4

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

内部数据表初始化

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