formatCurrency
by Terrance Smith
HTML
<form>
<input type="text" id="money" />
<input type="button" value="format" onclick="formatCurrency2(document.getElementById('money').value);" />
</form>
JavaScript
function formatCurrency2(txt) {
alert(txt);
var i;
var cents;
var sign;
var negIndx = txt.toString().indexOf('(');
var num = txt.toString().replace(/[^\d.\-]/g, '');
if (negIndx > -1) {
num = num * -1;
}
if (isNaN(num)) {
num = "0";
}
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * 100 + 0.50000000001);
cents = num % 100;
num = Math.floor(num / 100).toString();
if (cents < 10) { cents = "0" + cents; }
for (i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++){
num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
}
if (sign) {
//return '$' + num + '.' + cents;
return num + '.' + cents;
} else {
//return '($' + num + '.' + cents + ')';
return '-' + num + '.' + cents;
}
}