steveosoule
5/28/2013 - 8:13 PM

javascript-money-format.js

javascript-money-format.js

// Money Formatting
	Number.prototype.formatMoney = 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) : "");
	};

// pass a number in to return a currency formatted string
	function moneyFormat(num) {
		num = num.toString();
		if (num === '') {
			num = '$0.00';
		} else if (!num.search('$')) {
			num = "$" + parseFloat(num).formatMoney(2, '.', ',');
		} else {
			num = "$" + parseFloat(num.replace(/[^\d\.-]/g, '')).formatMoney(2, '.', ',');
		}
		return num;
	}

// Pass in a currency formatted amount as string to return a number
	function unMoneyFormat(amount) {
		return Number(amount.replace(/[^0-9.-]+/g, '')).toFixed(2);
	}