zoukankan      html  css  js  c++  java
  • js格式化数字

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>格式化数字</title>
    </head>
    <body>
    <script type="text/javascript">
    /**
    方法一 不加千分位(整数部分最大15位,小数为最多4位)
    object --文本框对象
    n --保留的小数位
    */
    function fmoney(object,n){
        // ^-?[0-9]+.?[0-9]*$ 验证浮点数
        var num =  object.value;
        var start = num.indexOf('-');
        if(start == 0){
            num = num.substring(1,15);
        }else{
            num = num.substring(0,15);
        }
        num = parseFloat((num + "").replace(/[^d.-]/g, "")).toFixed(n) + "";   
        if (isNaN(num) || ((num + "").replace(/s/g, "")) == "") {
            object.value = "";
            return;
        }
        n = n > 0 && n <= 20 ? n : 2;   
        var l = num.split(".")[0].split("").reverse(),r = num.split(".")[1],t = "";   
        for(var i = 0; i < l.length; i ++ ){   
          //t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); //加千分位  
          t += l[i];   
        }   
        if(start == 0){
            object.value = "-"+t.split("").reverse().join("") + "." + r;
        }else{
            object.value = t.split("").reverse().join("") + "." + r;
        }
    }   
    /**
    方法二 加千分位 (整数部分最大15位)
    object --文本框对象
    n --保留的小数位
    */
    function simpleFormat(object,n){
        var num = object.value;
        num = num.substring(0,15);
        num = parseFloat((num + "").replace(/[^d.-]/g, "")).toFixed(n)+"";   
        if (isNaN(num) || ((num + "").replace(/s/g, "")) == "") {
            object.value = "";
            return;
        }
        object.value = num;
        var value = num.replace(/(d)(?=(d{3})+(?!d))/g, "$1,")  
        object.value = value;
    }
    function rmoney(s){   
       return parseFloat(s.replace(/[^d.-]/g, ""));   
    }
    </script>
    <input type="text" id="11" style="200px" onblur='fmoney(this,4)'/><input type="button" value="还原" onclick="r11()"><br>
    <input type="text" id="33" style="200px" onblur='simpleFormat(this,4)'/><input type="button" value="还原" onclick="r33()">
    <script type="text/javascript">
    function r11(){
        var value = document.getElementById("11").value;
        alert(rmoney(value));
    }
    function r33(){
        var value = document.getElementById("33").value;
        alert(rmoney(value));
    }
    </script>
    </body>
    </html>
  • 相关阅读:
    【数据库】事务,ACID,CAP和一致性
    线程,进程。多进程,多线程。并发,并行的区别
    mysql 集群 数据同步
    如何读取一个表的表类型,以及读取一个表中字段的类型.
    网络攻击技术开篇——SQL Injection
    MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
    程序员找工作那些事(一)幸存者偏差
    程序员
    preg_replace的一些细节
    HDU 1258 Sum It Up(dfs 巧妙去重)
  • 原文地址:https://www.cnblogs.com/bunuo/p/7611195.html
Copyright © 2011-2022 走看看