zoukankan      html  css  js  c++  java
  • 浅谈部门前台框架中的几个方法<二>

       下面要说的这几个方法,很少有人用到,或者说少有人知道.所以,我看到很多js文件里开发者们大把大把的重复造轮子,这应该是框架维护人员的责任,一直以来,没有形成个详细的api文档.但也说明,开发人员之间缺少对框架的关注,或者说,交流不够.

    formatNumber2: function (value){
        return Math.round(value * 100) / 100;
    },
    //数值精确到<digit>小数位
    formatNum: function (value, digit){
        if (digit == undefined) return Math.round(value * 100) / 100;
        else{
            if (digit == 0){
                return Math.round(value);
            }
            else{
                var tmp = Math.pow(10, digit);
                return Math.round(value * tmp) / tmp;
            }
        }
    },
    formatWZ: function (value){
        return "" + value + "万支";
    },
    //数值加上百分号
    formatPercent: function (value){
        return value + "%";
    },
    formatPercent2: function (value){
        return Math.round(value * 10000) / 100 + "%";
    },
    //字期值<string>转化为YYYY-MM-dd格式
    formatDate: function (v){
        if (v == undefined) v = "";
        if (v.indexOf('-') == - 1) return v.substr(0, 4) + "-" + v.substr(4, 2) + "-" + v.substr(6, 2);
        else return v;
    },
    //字期值<string>转化为YYYY-MM-DD hh:mm:ss格式
    toFullDate: function (v){
        return v.substr(0, 4) + "-" + v.substr(4, 2) + "-"//月
        + v.substr(6, 2) + " "//日
        + v.substr(8, 2) + ":"//时
        + v.substr(10, 2) + ":"//分
        + v.substr(12, 2);//秒
    },
    toDate: function (v){
        var flag = (v.indexOf('-') == - 1) ? true : false;
        var year = v.substr(0, 4);
        var month = (flag) ? v.substr(4, 2) : v.substr(5, 2);
        var day = (flag) ? v.substr(6, 2) : v.substr(8, 2);
        month = parseInt(month) - 1;
        return new Date(year, month, day);
    },
    toTime: function (value){
        if (value == "") return "";
        if (value.length & gt; 6 & amp; & amp; value.indexOf(":") == - 1) value = value.left(6);
        if (value.indexOf(":") == - 1 & amp; & amp; value.length == 6){
            if ( ! Sail.isTime(value)) return "";
            var vs = "" + value;
            return vs.substr(0, 2) + ":" + vs.substr(2, 2) + ":" + vs.substr(4, 2);
        }
        var vs = value.split(":");
        if (vs.length == 1){
            var vback = value;
            vs = [];
            
            var h = parseInt(vback.left(2), 10) || 0;
            vs.push((h & gt; 23) ? vback.left(1) : "" + h);
            vback = ((h & gt; 23) ? vback.right(vback.length - 1) : vback.right(vback.length - 2));
            
            var h = parseInt(vback.left(2), 10) || 0;
            vs.push((h & gt; 59) ? vback.left(1) : "" + h);
            vback = ((h & gt; 59) ? vback.right(vback.length - 1) : vback.right(vback.length - 2));
            
            vs.push((parseInt(vback, 10) & gt; 59) ? "0" : vback);
        }
        for (var i = 0; i & lt; vs.length; i++){
            vs[i] = (vs[i] == "") ? "00" : vs[i];
            
            if (vs[i].length == 1 & amp; & amp; parseInt(vs[i], 10) & lt; 10 & amp; & amp; parseInt(vs[i], 10) != 0){
                vs[i] = "0" + vs[i];
            }
            if (vs[i] == "0") vs[i] = "00";
        }
        return vs.join(":");
    },
    num2String: function (num, format){
        var str = "" + num;
        var formatLen = format.length;
        if (str.length & lt; formatLen){
            var len = formatLen - str.length;
            for (var i = 0; i & lt; len; i++) str = "0" + str;
        }
        return str;
    }
    

      其中我注释的函数是项目中实际用得比较多的,但大家不知道,所以就重复的造轮子.很简单,比如我要转换一个字符串为日期,就可以这样写.Sail.toFullDate(argv)

      如果不知道,也不去关注.那就悲剧了,截图为证:

    a

  • 相关阅读:
    复习正则表达式20190618
    python每日练习10题2
    java多线程
    资源2
    apache
    行转列,列转行
    mysql5.7安装(正确安装)实战
    常见规则引擎技术
    Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势
    Vue开源项目库汇总
  • 原文地址:https://www.cnblogs.com/ms_config/p/1706548.html
Copyright © 2011-2022 走看看