首页 > 代码库 > 格式化金额数与自动四舍五入

格式化金额数与自动四舍五入

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
下面是一个格式化函数,可以控制小数位数,自动四舍五入。例如: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 = http://www.mamicode.com/fmoney(txt.value, num);
      txt2.value = http://www.mamicode.com/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。