因此,在使用数据表https://datatables.net/时,我希望格式化货币,因此它显示为10亿美元(10亿美元),100万美元(1百万美元)和1千美元(1千美元),但问题是在排序时它是与1B相同的1M,所以如果我有2M和1B,200万将超过10亿,是否有可能使用这样的格式排序?
答案 0 :(得分:1)
您可以更改File size排序插件以生成以下代码:
jQuery.fn.dataTable.ext.type.order['currency-abbr-pre'] = function ( data ) {
var matches = data.match( /^\$(\d+(?:\.\d+)?)\s*([a-z]+)/i );
var multipliers = {
k: 1000,
m: 1000000,
b: 1000000000
};
if (matches) {
var multiplier = multipliers[matches[2].toLowerCase()];
return parseFloat( matches[1] ) * multiplier;
} else {
return -1;
};
};
$(document).ready(function (){
var table = $('#example').DataTable({
columnDefs: [
{ type: 'currency-abbr', targets: 1 }
]
});
});
请参阅this example以获取代码和演示。
答案 1 :(得分:1)
<td data-sort="1000">1B</td>
<td data-sort="10">10M</td>