zoukankan      html  css  js  c++  java
  • js 数字,金额 用逗号 隔开。数字格式化

    例如:
    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="相加">
  • 相关阅读:
    在一个tomcat中配置多个tomcat服务器 111
    同一个tomcat部署多个项目11
    Tomcat部署多个项目及相关配置
    同一个tomcat部署多个项目
    Tomcat下部署多个项目
    Linux环境下在Tomcat上部署JavaWeb工程
    Linux命令详解之—pwd命令
    PWD
    C语言内存分配
    每天小练笔10-小和尚挑水(回溯法)
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1973374.html
Copyright © 2011-2022 走看看