1.
100000000.035.toLocaleString()2.
(1,234.54+"").replace(/\,/g, "")

解决方案 »

  1.   

    牛!toLocaleString()还能这样用!
    不过手册上说:toLocaleString 只用来显示结果给用户;不要在脚本中用来做基本计算,因为返回的结果是随机器不同而不同的。
    ????????
      

  2.   

    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"));
      

  3.   

    谢谢,非常感谢,但能否帮忙简单解释一下formatNum(s)中的代码啊,我想可能以后我在别的地方也能用到类似的东西啊
      

  4.   

    <script>
    var a=document.form1.text1.value
    if(a.indexOf(",")!=-1)
    b=a.indexOf(",")
    {
    a=a.substr(0,b)+a.substr(b+1,a.length)
    }
    </script>
      

  5.   

    凑和着看看吧!<script language="JavaScript">
    <!--
    function formatNum(s) //将数字转换成三位逗号分隔的样式
    {
      s += "";
    var reg1 = /^(\+|-)?(\d+)(\.\d+)?$/; //定义正则表达式  if (!reg1.test(s)) //判断s是否符合reg1的定义
    throw(new Error(-1, 'It isn\'t Number!')); //抛出异常  var a = s.match(reg1), b = a[2], c=""; //定义a(a为一数组)
    //match 方法返回的数组有三个属性:input、index 和 lastIndex。
    //Input 属性包含整个的被查找字符串。
    //Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。
    //LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。
    for (var i=b.length-3; i>-3; i=i-3) 
    c = ","+ b.substring(i, i+3) + c; //substring(start, end) 对象中指定位置的子字符串  return(a[1] + c.substr(1)) + a[3];//substr(start [, length ])从指定位置开始的指定长度的子字符串。
    }
    alert(formatNum("-12345678.1466"));
    alert(formatNum("12345678.123"));
    alert(formatNum("10000000000000000000000000000000000000000.0"));
    //-->
    </script>