<!-- Example File From "JavaScript and DHTML Cookbook" Published by O'Reilly & Associates Copyright 2003 Danny Goodman -->
function formatNumber (num, decplaces) { // convert in case it arrives as a string value num = parseFloat(num); // make sure it passes conversion if (!isNaN(num)) { // multiply value by 10 to the decplaces power; // round the result to the nearest integer; // convert the result to a string var str = "" + Math.round (eval(num) * Math.pow(10,decplaces)); // exponent means value is too big or small for this routine if (str.indexOf("e") != -1) { return "Out of Range"; } // if needed for small values, pad zeros // to the left of the number while (str.length <= decplaces) { str = "0" + str; } // calculate decimal point position var decpoint = str.length - decplaces; // assemble final result from: (a) the string up to the position of // the decimal point; (b) the decimal point; and (c) the balance // of the string. Return finished product. return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length); } else { return "NaN"; } }