Я использую jQuery datatable для отображения процентов в десятичных значениях, таких как
28.33 91.58 0.65
Я использую parseFloat этих значенийсортировать их.Проблема возникает во время интернационализации, на французском, немецком эти значения представлены как
28,33 91,58 0,65
Функции parseFloat игнорируют и отображают только числовую часть.Таким образом, 28,33 отображается как 28, а 91,58 отображается как 91 и т. Д. Мне нужно сохранить запятую, а также сортировать таблицу.Если я уберу парсефлоат, это не сортировка.Если я заменю, с.это работает, но мне нужно будет запятую.Было бы полезно, если бы кто-нибудь предложил мне обходной путь для этого.
Фрагмент кода
$.ajax({
dataType : "json",
url : myURL,
data : aoData,
cache : false,
success : function(json) {
var settings = {
tableSelector: getTableSelector(tab),
tableContainer : tab,
aaData : json.aaData,
iDisplayLength: 10,
bProcessing: false,
oLanguage : {
sEmptyTable: json.emptyTableMessage,
oPaginate: DataTablesUtils.getPaginationControls()
},
fnPreDrawCallback: function() {
resetArrowButtons(tab);
},
fnDrawCallback: function(oSettings) {
attachTableBodyEventListeners(tab);
DataTablesUtils.togglePaginationControls(oSettings, json.aaData.length);
},
fnInitComplete: function (oSettings) {
hideLoader(tab);
showTable(tableSelector);
showFilterBtn(tab);
},
aoColumns: columnRender(tab),
bSort : true,
aaSorting: []
};
var pagination = new DatatablesPagination(settings);
pagination.display();
},
error : function() {
showErrorMessageDetail(tab);
}
});
function columnRender(tab) {
return [{
// Column1
"sWidth" : "50px",
"bSortable" : true,
"fnRender": function(oObj) {
return getColumnIcon(oObj.aData[0]);
}
}, {
// Percentage %
"sWidth" : "90px",
"bSortable" : true,
"sType": "numeric",
"fnRender" : function(oObj) {
return showValueOrDash(oObj.aData[1]);
}
}];
}
function showValueOrDash(value) {
return value ? parseFloat(value) : " - ";
}