js 数字,金额 用逗号 隔开。数字格式化

http://www.cnblogs.com/hsapphire/archive/2011/03/07/1973374.html

 
例如: 
12345格式化为12,345.00 
12345.6格式化为12,345.60 
12345.67格式化为 12,345.67 
只留两位小数。 

回来后写了个格式化函数。可以控制小数位数,自动四舍五入。 

代码如下: 
引用

function fmoney(s, n)   
{   
   n = n > 0 && n <= 20 ? n : 2;   
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";   
   var l = s.split(".")[0].split("").reverse(),   
   r = s.split(".")[1];   
   t = "";   
   for(i = 0; i < l.length; i ++ )   
   {   
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");   
   }   
   return t.split("").reverse().join("") + "." + r;   


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

还原函数: 
引用

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


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

<SCRIPT>   
function fmoney(s, n)   
{   
   n = n > 0 && n <= 20 ? n : 2;   
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";   
   var l = s.split(".")[0].split("").reverse(),   
   r = s.split(".")[1];   
   t = "";   
   for(i = 0; i < l.length; i ++ )   
   {   
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");   
   }   
   return t.split("").reverse().join("") + "." + r;   
}   
function rmoney(s)   
{   
   return parseFloat(s.replace(/[^\d\.-]/g, ""));   
}   
function g(id)   
{   
   return document.getElementById(id);   
}   
window.onload = function()   
{   
   var num,   
   txt = g("txt"),   
   txt2 = g("txt2"),   
   btn = g("btn"),   
   btn2 = g("btn2"),   
   span = g("span");   
   btn.onclick = function()   
   {   
      num = parseInt(g("num").value);   
      txt.value = fmoney(txt.value, num);   
      txt2.value = fmoney(txt2.value, num);   
   }   
   ;   
   btn2.onclick = function()   
   {   
      num = parseInt(g("num").value);   
      span.innerHTML = "=" + fmoney(rmoney(txt.value) + rmoney(txt2.value), num);   
   }   
   ;   
}   
;   
</SCRIPT>   
小数点位数:   
<select id="num">   
<option value="2">2</option>   
<option value="3">3</option>   
<option value="4">4</option>   
<option value="5">5</option>   
</select>   
<input type="text" id="txt" value="12345.675910"> +   
<input type="text" id="txt2" value="1223"> <span id="span"></span>   
<br>   
<input type="button" id="btn" value="格式化">   
<input type="button" id="btn2" value="相加">
posted @ 2013-04-15 18:38  上帝爱编程  阅读(278)  评论(0编辑  收藏  举报