数据表 - 用点对格式化数字进行排序
Posted
技术标签:
【中文标题】数据表 - 用点对格式化数字进行排序【英文标题】:datatables - sorting formatted numbers with dot 【发布时间】:2018-01-10 20:37:16 【问题描述】:我在使用https://datatables.net/ 对特殊类型的格式化数字进行排序/排序时遇到问题。我有像111.111.111
或46.323.345,88
这样的数字,它们是金额。
我尝试使用类型:num-fmt
,但没有成功。当我在我的项目中添加这个类型属性时,我什至不能再排序了。没有发生像我禁用订购一样的事情。
希望你们能帮助我! 太棒了
private initVolumenTable()
$('#volumen-table').DataTable(
columnDefs: [
targets:3, type: 'num-fmt'
],
"scrollY": "400px",
"scrollCollapse": false,
"paging": false,
"ordering": true,
);
在 JSFiddle 中发生了排序,但它不正确..
所以我创建了一个:JsFiddle 。 :)
【问题讨论】:
【参考方案1】:试试这个代码:
$(document).ready(function()
$('#example').dataTable();
jQuery.extend(jQuery.fn.dataTableExt.oSort,
"numeric-comma-pre": function (a)
// prepare number
a = +(a.replace(",", "."));
a = (isNaN(a)) ? Number.MAX_VALUE : a;
return a;
,
"numeric-comma-asc": function (a, b)
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
,
"numeric-comma-desc": function (a, b)
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
);
);
【讨论】:
以上是关于数据表 - 用点对格式化数字进行排序的主要内容,如果未能解决你的问题,请参考以下文章
用点、字母、数字对对象数组进行排序。我能够按数字排序,但混合值很困难。不确定是不是可以做对
像字符一样打印,但在 Shiny 和 DataTable 中像数字一样排序