在HTML表格中,数字值是否可以用逗号格式表示?

时间:2013-03-06 04:47:16

标签: javascript jquery datatables

在Visual FoxPro中,可以在文本框或网格中格式化数字,并且程序仍然可以将其视为数字,即使它以逗号和句点格式显示。

目前我正在将数据插入到DataTable Jquery中,如下所示:

oTable.fnAddData( ["Bogus data","1,541,512.52","12.5%","0","0","0"]);

但我想按如下方式输入数据,但为了清楚起见,请用逗号显示:

oTable.fnAddData( ["Bogus data",1541512.52,"12.5%","0","0","0"]);

原因是当您对此列上的行进行排序时,第一个示例中的字符串将产生混乱。这些数字,希望能产生一个井然有序的清单。

如果您对如何修复字符编号列的排序有任何其他建议,请建议...

TIA

丹尼斯

2 个答案:

答案 0 :(得分:1)

DataTables的作者在此详细介绍了格式化数字的排序插件:

http://www.datatables.net/plug-ins/sorting

请参阅“格式化数字”:

  

此插件将为具有额外格式的数字列提供数字排序,例如数千个分隔符,货币符号或任何其他非数字数据。

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "formatted-num-pre": function ( a ) {
        a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
        return parseFloat( a );
    },

    "formatted-num-asc": function ( a, b ) {
        return a - b;
    },

    "formatted-num-desc": function ( a, b ) {
        return b - a;
    }
} );

答案 1 :(得分:1)

这是一种快速而肮脏的方法;

var number = 1541512.52;
var nicelyformattedNumber = number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
oTable.fnAddData( ["Bogus data", nicelyformattedNumber, "12.5%","0","0","0"]);

Source