例如: 

12345格式化为12,345.00 
12345.6格式化为12,345.60 
12345.67格式化为 12,345.67 
只留两位小数。 
回来后写了个格式化函数。可以控制小数位数,自动四舍五入。 代码如下: 

[javascript]

  1. function fmoney(s, n) {  

  2.     n = n > 0 && n <= 20 ? n : 2;  

  3.     s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";  

  4.     var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];  

  5.     t = "";  

  6.     for (i = 0; i < l.length; i++) {  

  7.         t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");  

  8.     }  

  9.     return t.split("").reverse().join("") + "." + r;  

  10. }  

调用:fmoney("12345.675910", 3),返回12,345.676 

还原函数: 

[javascript]

  1. function rmoney(s) {  

  2.     return parseFloat(s.replace(/[^\d\.-]/g, ""));  

  3. }  

示例(可保存一下代码为html文件,运行查看效果): 

[html]

  1. <SCRIPT>  

  2. function fmoney(s, n) {  

  3.     n = n > 0 && n <= 20 ? n : 2;  

  4.     s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";  

  5.     var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];  

  6.     t = "";  

  7.     for (i = 0; i < l.length; i++) {  

  8.         t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");  

  9.     }  

  10.     return t.split("").reverse().join("") + "." + r;  

  11. }  

  12. function rmoney(s) {  

  13.     return parseFloat(s.replace(/[^\d\.-]/g, ""));  

  14. }  

  15. function g(id) {  

  16.     return document.getElementById(id);  

  17. }  

  18. window.onload = function() {  

  19.     var num, txt = g("txt"), txt2 = g("txt2"), btn = g("btn"), btn2 = g("btn2"), span = g("span");  

  20.     btn.onclick = function() {  

  21.         num = parseInt(g("num").value);  

  22.         txt.value = fmoney(txt.value, num);  

  23.         txt2.value = fmoney(txt2.value, num);  

  24.     };  

  25.     btn2.onclick = function() {  

  26.         num = parseInt(g("num").value);  

  27.         span.innerHTML = "="  

  28.                 + fmoney(rmoney(txt.value) + rmoney(txt2.value), num);  

  29.     };  

  30. };  

  31. </SCRIPT>     

  32. 小数点位数:     

  33. <select id="num">     

  34. <option value="2">2</option>     

  35. <option value="3">3</option>     

  36. <option value="4">4</option>     

  37. <option value="5">5</option>     

  38. </select>     

  39. <input type="text" id="txt" value="12345.675910"> +     

  40. <input type="text" id="txt2" value="1223"> <span id="span"></span>     

  41. <br>     

  42. <input type="button" id="btn" value="格式化">     

  43. <input type="button" id="btn2" value="相加">   

附:

[javascript]

  1. /* 

  2.  * formatMoney(s,type) 

  3.  * 功能:金额按千位逗号分割 

  4.  * 参数:s,需要格式化的金额数值. 

  5.  * 参数:type,判断格式化后的金额是否需要小数位. 

  6.  * 返回:返回格式化后的数值字符串. 

  7.  */  

  8. function formatMoney(s, type) {  

  9.     if (/[^0-9\.]/.test(s))  

  10.         return "0";  

  11.     if (s == null || s == "")  

  12.         return "0";  

  13.     s = s.toString().replace(/^(\d*)$/, "$1.");  

  14.     s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");  

  15.     s = s.replace("."",");  

  16.     var re = /(\d)(\d{3},)/;  

  17.     while (re.test(s))  

  18.         s = s.replace(re, "$1,$2");  

  19.     s = s.replace(/,(\d\d)$/, ".$1");  

  20.     if (type == 0) {

    // 不带小数位(默认是有小数位)  

  21.         var a = s.split(".");  

  22.         if (a[1] == "00") {  

  23.             s = a[0];  

  24.         }  

  25.     }  

  26.     return s;  

  27. }  

  28. /* 

  29.  * 通用DateAdd(interval,number,date) 功能:实现javascript的日期相加功能. 

  30.  * 参数:interval,字符串表达式,表示要添加的时间间隔. 参数:number,数值表达式,表示要添加的时间间隔的个数. 参数:date,时间对象. 

  31.  * 返回:新的时间对象. var now = new Date(); var newDate = DateAdd("day",5,now); 

  32.  * author:devinhua(从○开始) update:2010-5-5 20:35 

  33.  */  

  34. function DateAdd(interval, number, date) {  

  35.     if (date == null)  

  36.         return "";  

  37.     switch (interval) {  

  38.     case "day":  

  39.         date = new Date(date);  

  40.         date = date.valueOf();  

  41.         date += number * 24 * 60 * 60 * 1000;  

  42.         date = new Date(date);  

  43.         return date;  

  44.         break;  

  45.     default:  

  46.         return "";  

  47.         break;  

  48.     }