function formatNum(s) //将数字转换成三位逗号分隔的样式
{
  s += "";
  if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!'));
  var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c="";
  for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c;
  return(a[1] + c.substr(1) + a[3]);
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
alert(formatNum("10000000000000000000000000000000000000000"));

解决方案 »

  1.   

    这个是 JavaScript 代码:
    <script language="javascript">
    function formatNum(s) //将数字转换成三位逗号分隔的样式
    {
      s += "";
      if (!/^(\+|-)?\d+(\.\d+)?$/.test(s)) throw(new Error(-1, 'It isn\'t Number!'));
      var a = s.match(/^(\+|-)?(\d[^\.]+)(\.\d+)?$/), b = a[2], c="";
      for (var i=b.length-3; i>-3; i=i-3) c = ","+ b.substring(i, i+3) + c;
      return(a[1] + c.substr(1) + a[3]);
    }
    alert(formatNum(-12345678.123));
    alert(formatNum("12345678.123"));
    alert(formatNum("10000000000000000000000000000000000000000"));
    </script>
    不过你自己也可以改造成VBS的代码.
      

  2.   

    Microsoft VBScript 実行時エラー (0x800A000D)
    型が一致しません。: 'formatNum'
    /luna/08.asp, line 289老大麻烦你帮我看看,289行是
    <%= formatNum(csng(rs("NOWCOUNT"))*csng(rs("UNITPRICE"))) %>円
    提示错误,这个页不是我写的,新人写的我来修改,他写的东西看得我头都大了,我把你那段代码放js里面怎么还提示错误呢?
      

  3.   

    这段代码是运行在客户端的呀. 
    在VBS里你直接使用 FormatNumber 函数好了.