我有一个表格,格式为:“1.234,56”,(千位分隔符是句点,小数点分隔符是逗号)。这种格式不起作用,因为只要内部有不同的字符,tablesorter插件就会将其视为字符串而不是数字(只允许数字,+ / - 和“。”)。
如何删除句点并在排序前用句点替换逗号?
答案 0 :(得分:3)
好的,我想我解决了。我的表有货币,所以我编辑了'货币'解析器,但你基本上可以用其他任何一个。货币解析器最终看起来像这样:
ts.addParser({
id: "currency",
is: function(s) {
return /^[£$€?.]/.test(s);
},
format: function(s) {
s=s.replace('.', '');
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));
},
type: "numeric"
});
(顺便说一句,你如何在stackoverflow上打开synthax高亮显示?)
答案 1 :(得分:0)
'1.234,56'.replace('.', '').replace(',', '.') // '1234.56'
答案 2 :(得分:0)
$.tablesorter.addParser({
// set a unique id
id: 'pesos',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.replace(/' '/g,'').replace(/\./g, '');
},
// set type, either numeric or text
type: 'numeric'
});
$("#menuh").sticky({topSpacing:0});
$("#myTable").tablesorter();
$("#myTableBienes").tablesorter({
headers: {
5: {
sorter:'pesos'
}
}
});
});