Here you can find the source of toMoney(decimals, decimal_sep, thousands_sep)
/* http://stackoverflow.com/a/2866613/211088 decimal_sep: character used as deciaml separtor, it defaults to '.' when omitted thousands_sep: char used as thousands separator, it defaults to ',' when omitted *///from www . j a v a 2 s .co m Number.prototype.toMoney = function(decimals, decimal_sep, thousands_sep) { var n = this, c = isNaN(decimals) ? 2 : Math.abs(decimals), //if decimal is zero we must take it, it means user does not want to show any decimal d = decimal_sep || '.', //if no decimal separator is passed we use the dot as default decimal separator (we MUST use a decimal separator) /* according to [http://stackoverflow.com/questions/411352/how-best-to-determine-if-an-argument-is-not-sent-to-the-javascript-function] the fastest way to check for not defined parameter is to use typeof value === 'undefined' rather than doing value === undefined. */ t = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, //if you don't want to use a thousands separator you can pass empty string as thousands_sep value sign = (n < 0) ? '-' : '', //extracting the absolute value of the integer part of the number and converting to string i = parseInt(n = Math.abs(n).toFixed(c)) + '', j = ((j = i.length) > 3) ? j % 3 : 0; return sign + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ''); };
Number.prototype.toMoney = function() { return '$' + this.toFixed(2); };
Number.prototype.toMoney = function(c, d, t){ var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "." : d, t = t == undefined ? "," : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); ...
Number.prototype.toMoney = function (currency) { currency = currency ? currency : "$"; if (currency === "0.00") { return "${0}".format(currency); return currency + "" + this.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
Number.prototype.toMoney = function(decimals, decimal_sep, thousands_sep) { var n = this; var c = isNaN(decimals) ? 0 : Math.abs(decimals); var d = decimal_sep || '.'; var t = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep; var sign = (n < 0) ? '-' : ''; var i = parseInt(n = Math.abs(n).toFixed(c), 10) + ''; var j = ((j = i.length) > 3) ? j % 3 : 0; return sign + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ''); ...
Number.prototype.toMoney = function(decimals, decimal_sep, thousands_sep) var n = this, c = isNaN(decimals) ? 2 : Math.abs(decimals), d = decimal_sep || ',', t = (typeof thousands_sep === 'undefined') ? '.' : thousands_sep, sign = (n < 0) ? '-' : '', i = parseInt(n = Math.abs(n).toFixed(c)) + '', j = ((j = i.length) > 3) ? j % 3 : 0; ...
Number.prototype.money = function(c, d, t){ var n = this*1000, c = isNaN(c = Math.abs(c)) ? 0 : c, d = d == undefined ? "." : d, t = t == undefined ? "," : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; const money = s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); ...
Number.prototype.money = function(decPlaces, thouSeparator, decSeparator, appendix, prefix) { var n = this, decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces, decSeparator = decSeparator == undefined ? "." : decSeparator, thouSeparator = thouSeparator == undefined ? "," : thouSeparator, prefix = prefix || '', appendix = appendix || '', sign = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(decPlaces)) + "", ...