Skip to content

Instantly share code, notes, and snippets.

@steveosoule
Created May 28, 2013 20:13
Show Gist options
  • Save steveosoule/5665723 to your computer and use it in GitHub Desktop.
Save steveosoule/5665723 to your computer and use it in GitHub Desktop.
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);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment