<SCRIPT LANGUAGE="JavaScript">
<!--
function splitNum(s) //将数字转换成三位逗号分隔的样式
{
  s += "";
  if (!/^(\+|-)?\d+(\.\d+)?$/.test(s))
  {alert("输入的字符串不是数字格式!"); return false;}
  var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/);
  var b = a[2].split(""), n=b.length-1, c="";
  for (var i=n; i>-1; i--)
  {
    if ((n-i)%3==0&&n!=i) c = ","+ c;  c = b[i] + c;
  }
  return(a[1] + c + a[3]);
}
alert(splitNum(-12345678.123));
alert(splitNum("12345678.123"));
alert(splitNum("10000000000000000000"));
//-->
</SCRIPT>

解决方案 »

  1.   

    function splitNum(s)
    {
      s += "";
      if (!/^(\+|-)?\d+(\.\d+)?$/.test(s))
      {alert("输入的字符串不是数字格式!"); return false;}
      var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/);
      var b = a[2].split(""), n=b.length-1, c="";
      for (var i=n; i>-1; i--)
      {
        if ((n-i)%3==0&&n!=i) c = ","+ c;  c = b[i] + c;
      }
      return(a[1] + c + a[3]);
    }
    alert(splitNum(-12345678.123));
      

  2.   

    new java.text.DecimalFormat("###,##0.00").format(123.67)
    一个例子,你可以自己输入了来看看就明白了。
      

  3.   

    function AddComma(numArg) {
    var reg = /(-?\d+)(\d{3})/
    numArg+=''
    while (reg.test(numArg)) {
    numArg=numArg.replace(reg, "$1,$2")
    }
    return numArg
    }