简明现代魔法 -> JavaScript -> 金额数字格式化与四舍五入

金额数字格式化与四舍五入

2011-03-08

下面是一个格式化函数,可以控制小数位数,自动四舍五入。例如:12345格式化为12,345.00,12345.6格式化为12,345.60,12345.67格式化为 12,345.67,只留两位小数。

效果演示

小数点位数: +

下面为程序代码:

<script type="text/javascript">   
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>

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

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们