I found this great little piece of javascript that will take a value and format it as currency. For example, 12345.3243 will become 12,345.32.
num = num.toString().replace(/\$|\,/g, ”);
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 (var 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));
return (((sign) ? ” : ‘-‘) + num);
}
I than reformatted the regular expression so that non-decimal characters would be removed without destroying the original value, but this will also remove the cents.
num = num.toString().replace(/\D|\,/g, ”);
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 (var 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));
return (((sign) ? ” : ‘-‘) + num);
}
I’m going to give it another try later so the cents will stay in tact.