開發中js常用的格式化方法

1,千分位逗號分開,小數後保留兩位小數

   ①使用字符串的拼接

    var formatMoney =    function(v) {
           v = (Math.round((v - 0) * 100)) / 100;
           v = (v == Math.floor(v)) ? v + ".00" : ((v * 10 == Math.floor(v * 10)) ? v + "0": v);
           v = String(v);
           var ps = v.split('.');
           var whole = ps[0];
           var sub = ps[1] ? '.' + ps[1] : '.00';
           var r = /(\d+)(\d{3})/;
           while (r.test(whole)) {
                     whole = whole.replace(r, '$1' + ',' + '$2');
            }
           v = whole + sub;
           if (v == "0.00" || v == "") {
                   return "--"
               }
                   return v;
    }

   ② 使用正則表達式

      var formatMonry =    function(p){
                 return (p.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
                }

2,格式化百分比,保留兩位小數形成xx.xx%格式

     var renderers = function(v){
                      if (v == '' || v == 0) {
                            return "0.00";
                          }
                    var f_x = Math.round(v*10000)/ 100;
                    var s_x = f_x.toString();
                    var pos_decimal = s_x.indexOf('.');
                    if (pos_decimal == -1) {
                             pos_decimal = s_x.length;
                             s_x += '.';
                             while (s_x.length <= pos_decimal+ 2) {
                                     s_x += '0';
                                   }
                    }
                    
                    if(pos_decimal != -1){
                         var len = s_x.indexOf('.');
                         var llen = s_x.substring(len).length-1;
                    
                         var i = 1;
                         while (i<= 2-llen) {
                               s_x += '0';
                               i++;
                      }
                    }
                return s_x + "%";
            }

 3,時間的格式化

      ① 獲取當前系統的時間

          var currentTime =  new Date().format('Y-m-d');

      ②獲取當前時間的前一天(其他的依次類推)

          var preTime = new Date(new_date.getTime() - 1*1000 * 60 * 60 * 24).format('Y-m-d');

      ③給定年月year,month獲取當月的第一天

          var date = new Date(year, month-1, 1).format('Y-m-d');


          也可以通過js自帶方法獲取當前年月,詳細請查閱js的API

         var currentYear = new Date().getFullYear();

         var currentMonth = new Date().getMonth()+1 ;


          獲取當天使這個月的第幾天可以使用

          var currentDay =  new Date().getDate();


         獲取這個月的總天數

          var total_day = new Date().getDaysInMonth()

      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章