البرنامج المساعد - الفواصل العشرية
-
25-09-2019 - |
سؤال
لدي جدول بالأسعار بهذا التنسيق:"1.234,56"، (فاصل الآلاف عبارة عن نقطة، والفاصل العشري عبارة عن فاصلة).لا يعمل هذا التنسيق لأن البرنامج المساعد tablesorter يراه كسلاسل وليس كرقم عندما يكون هناك حرف مختلف بداخله (يُسمح فقط بالأرقام +/- و"." للكسور العشرية).
كيف يمكنني إزالة الفواصل واستبدال الفواصل بنقاط قبل الفرز؟
المحلول
حسنًا ، أعتقد أنني حلتها. طاولتي لها عملة ، لذا قمت بتحرير محلل "العملة" ولكن يمكنك القيام بذلك بشكل أساسي مع أي شيء آخر. يبدو محلل العملة هكذا في النهاية:
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"
});
(بالمناسبة ، كيف تقوم بتشغيل Synthax تمييز هنا على Stackoverflow؟)
نصائح أخرى
'1.234,56'.replace('.', '').replace(',', '.') // '1234.56'
$.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'
}
}
});
});
لا تنتمي إلى StackOverflow