Formatted numbers
Sort numbers which are displayed with thousand separators
- Author: Allan Jardine
- Deprecated: This plug-in has been deprecated and replaced with other functionality. Please see the detailed description below for more information.
This plug-in will provide numeric sorting for numeric columns which have extra formatting, such as thousands separators, currency symbols or any other non-numeric data.
By default when a cell is found to have no numeric data its value is sorted numerically as if its value were 0. This could also be altered to be Inifnity or -Infinity as required.
DataTables 1.10+ has formatted number detection and sorting abilities built- in. As such this plug-in is marked as deprecated, but might be useful when working with old versions of DataTables.
Plug-in code
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"formatted-num-pre": function ( a ) {
a = (a === "-" || a === "") ? 0 : a.replace( /[^\d\-\.]/g, "" );
return parseFloat( a );
},
"formatted-num-asc": function ( a, b ) {
return a - b;
},
"formatted-num-desc": function ( a, b ) {
return b - a;
}
} );
CDN
This plug-in is available on the DataTables CDN:
Note that if you are using multiple plug-ins, it is beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.
Version control
If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!
- This plug-in: formatted-numbers.js
- Full DataTables plug-ins repository: DataTables/Plugins
Example
$('#example').dataTable( {
columnDefs: [
{ type: 'formatted-num', targets: 0 }
]
} );