【问题标题】:How to format currency in Datatables?如何在数据表中格式化货币?
【发布时间】:2017-12-13 09:22:49
【问题描述】:

这是一个显示交易的表格,使用DataTables 实现。

$( document ).ready(function() {    
    var table = $('#tbl_transaksi').DataTable( {
        "ajax": "data_transaksi.php",
        "bPaginate":true,
        "bProcessing": true,
        "pageLength": 10,
        "columns": [
            { mData: 'username' } ,
            { mData: 'fullname' },
            { mData: 'the_date' },
            { mData: 'amount',  render: function ( data, type, row ) {
                return "Rp " + data;
                } 
            }
        ],
        "dom": 'Bfrtip',
        "buttons": [
            'copy', 'csv', 'excel', 'pdf', 'print'
        ]
    }); 

});

它有效。现在我想添加一个增强功能:使用印度尼西亚格式格式化金额(“jumlah”),例如 1000000 将显示为“Rp 1.000.000”;

Google 搜索将我指向renderers。我将渲染部分添加到我的代码中,并且它不会更改格式。这里有什么问题?

【问题讨论】:

    标签: javascript datatables currency-formatting


    【解决方案1】:

    使用$.fn.dataTable.render.number函数,

    $( document ).ready(function() {    
        var table = $('#tbl_transaksi').DataTable( {
            "ajax": "data_transaksi.php",
            "bPaginate":true,
            "bProcessing": true,
            "pageLength": 10,
            "columns": [
                { mData: 'username' } ,
                { mData: 'fullname' },
                { mData: 'the_date' },
                { mData: 'amount',  render: $.fn.dataTable.render.number( ',', '.', 3, 'Rp' )
                }
            ],
            "dom": 'Bfrtip',
            "buttons": [
                'copy', 'csv', 'excel', 'pdf', 'print'
            ]
        }); 
    
    });
    

    【讨论】:

    • 嗯,在最新的 Chrome 和 Firefox 上都试过这个......不起作用。是的,我已经多次重新加载页面...
    • 您遇到任何语法错误或它以不同的格式呈现?
    【解决方案2】:

    希望这个东西能解决你的问题。

    $(document).ready(function () {
      var table = $('#tbl_transaksi').DataTable({
        "ajax": "data_transaksi.php",
        "bPaginate": true,
        "bProcessing": true,
        "pageLength": 10,
        "columns": [
          { mData: 'username' },
          { mData: 'fullname' },
          { mData: 'the_date' },
          {
            mData: 'amount', render: function (data, type, row, meta) {
              return meta.settings.fnFormatNumber(row.amount);
            }
          }
        ],
        "dom": 'Bfrtip',
        "buttons": [
          'copy', 'csv', 'excel', 'pdf', 'print'
        ]
      });
    });
    

    【讨论】:

      【解决方案3】:

      使用它甘:

      {
        mData: 'amount',  render: $.fn.dataTable.render.number( '.', ',', 0, 'Rp ' )
       }
      //result Rp 175.000
      

      在印尼盾中,他们使用点 (.) 表示货币而不是逗号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多