这是我用的一个函数,你参考一下
function toMoney(number) 

  if(isNaN(number)) return number;
  
  var pointValue = "";
  pointPos = number.indexOf(".");
  if(pointPos>0) {
   pointValue = number.substring(pointPos,number.length);
   number = number.substring(0, pointPos);
  }
  
  if (number.length<= 3) 
  return (number == '' ? '' : number+pointValue); 
  else 
  { 
    var mod = number.length%3;
    var output = (mod == 0 ? '' : (number.substring(0,mod)));
    for (i=0 ; i< Math.floor(number.length/3) ; i++) 
    { 
      if ((mod ==0) && (i ==0)) 
      output+= number.substring(mod+3*i,mod+3*i+3); 
      else 
      output+= ',' + number.substring(mod+3*i,mod+3*i+3); 
    } 
    return (output+pointValue); 
  } 
}

解决方案 »

  1.   

    晕,这个问题,你一搜索,网上一大把:
    http://www.google.cn/search?hl=zh-CN&q=%E6%95%B0%E5%AD%97%E8%BD%AC%E6%88%90%E8%B4%A7%E5%B8%81%E6%A0%BC%E5%BC%8F+js&meta=&aq=f&oq=这么多,你自己看哪个方法适合你
      

  2.   

    上面写的没转换,要转换成Number类型才能用的
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script language="javascript">
    /**********************************************************************
    IN:
    decimalNum - the number of decimal places to format the number to
    bolLeadingZero - true / false - display a leading zero for
    numbers between -1 and 1
    bolParens - true / false - use parenthesis around negative numbers
    bolCommas - put commas as number separators.
     
    RETVAL:
    The formatted number!
     **********************************************************************/
    Number.prototype.format = function(decimalNum,bolLeadingZero,bolParens,bolCommas)

    var tmpNum = this;
    var iSign = this < 0 ? -1 : 1; // Get sign of number

    // Adjust number so only the specified number of numbers after
    // the decimal point are shown.
    tmpNum *= Math.pow(10,decimalNum);
    tmpNum = Math.round(Math.abs(tmpNum))
    tmpNum /= Math.pow(10,decimalNum);
    tmpNum *= iSign; // Readjust for sign


    // Create a string object to do our formatting on
    var tmpNumStr = new String(tmpNum); // See if we need to strip out the leading zero or not.
    if (!bolLeadingZero && this < 1 && this > -1 && this != 0)
    if (this > 0)
    tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
    else
    tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);

    // See if we need to put in the commas
    if (bolCommas && (this >= 1000 || this <= -1000)) {
    var iStart = tmpNumStr.indexOf(".");
    if (iStart < 0)
    iStart = tmpNumStr.length; iStart -= 3;
    while (iStart >= 1) {
    tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
    iStart -= 3;
    }
    } // See if we need to use parenthesis
    if (bolParens && this < 0)
    tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")"; return tmpNumStr; // Return our formatted string!
    }
    </script>
    <script language="javascript">
    var n = 13456789.12345;
    alert(n.format(2,true,true,true ));
    </script>
        </head>
        <body>
         </body>
    </html>
      

  4.   

    <script>
    var a = 12345678910 ;
    var b = 123 ;
    var c = -12345678910 ;
    var d = -123 ;
    var e = 1234.00 ;alert(myFormat(a,2));//12,345,678,910.00
    alert(myFormat(b,2));//123.00
    alert(myFormat(c,2));//-12,345,678,910.00
    alert(myFormat(d,2));//-123.00
    alert(myFormat(e,2));//-1,234.00
    function myFormat(num,w)
    {
       var t=num>0?num:Math.abs(num);
       var str=parseFloat(num).toFixed(w).toString();
       var il = str.length-w-1;
       var n = 1;
       while(t>1000)
       {  
    t/=1000;
            str=str.substring(0,il-n*3)+","+str.substr(il-n*3);
            ++n;
       }
       return str;
    }
    </script>