在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
丹尼斯
答案 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"]);