# Posted By

section31 on 08/13/07

# Statistics

Viewed 100 times
Favorited by 3 user(s)

# Mootools - numberFormat

/ Published in: JavaScript
`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) : '');	}  });`