/ Published in: JavaScript
                    
                                        
Format a number with grouped thousands
                
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
Number.extend({
/*
Property: numberFormat
Format a number with grouped thousands.
Arguments:
decimals, optional - integer, number of decimal percision; default, 2
dec_point, optional - string, decimal point notation; default, '.'
thousands_sep, optional - string, grouped thousands notation; default, ','
Returns:
a formatted version of number.
Example:
>(36432.556).numberFormat() // returns 36,432.56
>(36432.556).numberFormat(2, '.', ',') // returns 36,432.56
*/
numberFormat : function(decimals, dec_point, thousands_sep) {
decimals = Math.abs(decimals) + 1 ? decimals : 2;
dec_point = dec_point || '.';
thousands_sep = thousands_sep || ',';
var matches = /(-)?(\d+)(\.\d+)?/.exec((isNaN(this) ? 0 : this) + ''); // returns matches[1] as sign, matches[2] as numbers and matches[3] as decimals
var remainder = matches[2].length > 3 ? matches[2].length % 3 : 0;
return (matches[1] ? matches[1] : '') + (remainder ? matches[2].substr(0, remainder) + thousands_sep : '') + matches[2].substr(remainder).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep) +
(decimals ? dec_point + (+matches[3] || 0).toFixed(decimals).substr(2) : '');
}
});
Comments
 Subscribe to comments
                    Subscribe to comments
                
                