/*Author: Robert Hashemianhttp://www.hashemian.com/You can use this code in any manner so long as the author'sname, Web address and this disclaimer is kept intact.********************************************************Usage Sample:<script language="JavaScript" src="http://www.hashemian.com/js/NumberFormat.js"></script><script language="JavaScript">document.write(FormatNumberBy3("1234512345.12345", ".", ","));</script>*/// function to format a number with separators. returns formatted number.// num - the number to be formatted// decpoint - the decimal point character. if skipped, "." is used// sep - the separator character. if skipped, "," is usedfunction FormatNumberBy3(num, decpoint, sep) {  // check for missing parameters and use defaults if so  if (arguments.length == 2) {    sep = ",";  }  if (arguments.length == 1) {    sep = ",";    decpoint = ".";  }  // modified by nb 2006-06-25  prefix = num < 0 ? '-' : '';    // need a string for operations  // modified by nb 2006-06-25: added abs()  num = Math.abs(num).toString();    // separate the whole number and the fraction if possible  a = num.split(decpoint);  x = a[0]; // decimal  y = a[1]; // fraction  z = "";  if (typeof(x) != "undefined") {    // reverse the digits. regexp works from left to right.    for (i=x.length-1;i>=0;i--)      z += x.charAt(i);    // add seperators. but undo the trailing one, if there    z = z.replace(/(\d{3})/g, "$1" + sep);    if (z.slice(-sep.length) == sep)      z = z.slice(0, -sep.length);    x = "";    // reverse again to get back the number    for (i=z.length-1;i>=0;i--)      x += z.charAt(i);    // add the fraction back in, if it was there    if (typeof(y) != "undefined" && y.length > 0)      x += decpoint + y;  }  // modified by nb 2006-06-25: added prefix  return prefix + x;}
