zoukankan      html  css  js  c++  java
  • Java常用的公共方法

    --获取规字符串中的指定名称的某个字段值

    1、public String getValueByName(String params,String name)

    --用于通过表单选中的复选框获取它的值(js的方法)

    2、function getSelectedMasterKeys()

    --获取当前年

    3、public String getCurMonth()

     --汇总指定列的 总和

    4、public String getListColumnSum(List list,String coulumName,int point)

    --保留小数不进行四舍五入

    5、public String getDoublePoint(Double d,int point)

    --获取下一月(还没到来)

    6、public String getNextMonth(String datestr)

    --获取本年1月到当前月份

    7、public List getStartMonthToCurMonth()

    --退一天(获取昨天)

    8、public String getNextDay(String datestr)

    --将集合中HashMap的指定列收集成字符串返回 多个用逗号分开

    9、public String ListMapToStrs(List list,String name)

    --将list转成字符串

    10、public String ListStringToStrs(List list)

    --获得当前周- 周一的日期

    11、private String getWeekFirstDay()

    --获得当前周- 周日的日期

    12、private String getWeekLastDay()

    --获取本周 周一到周日 的日期

    13、public HashMap getWeekFirstToLastDay()

    --万元单位换算

    14、public String unitWConversion(String str,int point,boolean showunit)

    --获取占比

    15、public String getBaifenbi(String d1,String d2)

    --获取指定日期所属月份的 最后一天

    16、public String getEndDayByMonth(String datatimestr)

    --比较两个日期大小 DATE1>DATE2 1,DATE1

    17、public static int compareDate(String DATE1, String DATE2)

    --计算同比方法

    18、public HashMap getTongbiData(String sd1,String sd2)

     

     

     

     

    --获取规字符串中的指定名称的某个字段值

     

    /** 
     *    username:nvalue,id:idval
     * 获取规字符串中的指定名称的某个字段值 
     * @param filters
     * @param name
     * @return
    */
    public String getValueByName(String params,String name){
        String value="";
        String[] one_arr=params.split(",");
        for(int i=0;i<one_arr.length;i++){
            if(!one_arr[i].equals("")){
                String[] two_arr=one_arr[i].split(":");                
                if(two_arr[0].equals(name)){
                    if(two_arr.length>1){
                        value=two_arr[1];
                    }
                }
            }
        }
        return value;
    }

    --用于通过表单选中的复选框获取它的值

     

    /**
     * 用于通过表单选中的复选框获取它的值
     */
    function getSelectedMasterKeys(){
        var r_arr=new Array();
        var elements=document.getElementsByTagName("INPUT");
        var val="";
        for(i=0;i<elements.length;i++){
           var name=elements[i].name;
           if(elements[i].type=="checkbox"){
               if(name.indexOf("master_key")!=-1){
                   if(elements[i].checked==true){
                       r_arr[r_arr.length]=elements[i].value;
                   }
               }
           }
        }
        return r_arr;
    }

    --获取当前年

     

        /**
         * 获取当前年
         * @return 字符串
         */
        public String getCurMonth(){
            Calendar now = Calendar.getInstance();
            String  datestr = new SimpleDateFormat("yyyy-MM").format(now.getTime());
            return datestr;
        }

    --汇总指定列的 总和

     

        /**
         * 汇总指定列的 总和
         * @param list
         * @param coulumName 列名
         * @param point 保留小数位
         * @return
         */
        public String getListColumnSum(List<HashMap> list,String coulumName,int point){
            DecimalFormat df = new DecimalFormat("######0.00");
             
            String main_total_str="0";
            String main_total="0.00";
            for(HashMap map:list){
                String total=this.getMapValue(map,coulumName);
                
                df.setMaximumFractionDigits(point);
                df.setMinimumFractionDigits(0);
                df.setRoundingMode(RoundingMode.FLOOR);
                String total2=df.format(Double.parseDouble(total)/100f);
                    
                BigDecimal b1 = new BigDecimal(total2); 
                BigDecimal b2 = new BigDecimal(main_total+""); 
                if(total!=null && !total.equals("")){
                    main_total=df.format(b1.add(b2).doubleValue());
                }
            }
            main_total_str=this.getDoublePoint(df.format(Double.parseDouble(main_total)),point);
            return main_total_str;
        }

    --保留小数不进行四舍五入

        /**
         * 保留小数不进行四舍五入
         * @param d
         * @return
         */
        public String getDoublePoint(Double d,int point){
            String r_dstr=d+"";
            String[] d_arr=(d+"").split("\.");
            if(d_arr.length==2){
                String point_str=d_arr[1];
                if(!point_str.equals("") && point_str.length()>9){point_str=point_str.substring(0,9);}
                if(Integer.parseInt(point_str)==0){
                    r_dstr=d_arr[0];
                }else{
                    if(point>d_arr[1].length()){point=d_arr[1].length();}
                    r_dstr=d_arr[0]+"."+d_arr[1].substring(0, point);
                }
            }
            return r_dstr;
        }

    --获取下一月(还没到来)

         /**
         * 下一月(还没到来)
         * @param datestr
         * @return
        */
        public String getNextMonth(String datestr){
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            String  newDatestr="";
            try {
                Date d = sdf.parse(datestr);
                
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(d);
                calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH)+1);
                newDatestr = sdf.format(calendar.getTime());
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            return newDatestr;
        }

    --获取本年1月到当前月份

        /**
         * 获取本年1月到当前月份
         * @return
         */
        public List<String> getStartMonthToCurMonth(){
            Calendar now = Calendar.getInstance();
            String  cmonth = new SimpleDateFormat("MM").format(now.getTime());
            List<String> list=new ArrayList<String>();
            int cmonth_int=Integer.parseInt(cmonth);
            for(int i=1;i<=cmonth_int;i++){
                list.add(i+"");
            }
            return list;
        }

    --退一天(获取昨天)

        /**
         * 退一天
         * @param datestr
         * @return
        */
        public String getNextDay(String datestr){
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            String  newDatestr="";
            try {
                Date d = sdf.parse(datestr);
                
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(d);
                calendar.add(calendar.DATE,-1);
                
                newDatestr = sdf.format(calendar.getTime());
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            return newDatestr;
        }

    --将集合中HashMap的指定列收集成字符串返回 多个用逗号分开

        /**
         * 将集合中HashMap的指定列收集成字符串返回 多个用逗号分开s
         * @param list
         * @param name
         * @return
        */
        public String ListMapToStrs(List<HashMap> list,String name){
            String strs="";
            for(HashMap map:list){
                String value=this.getMapValue(map,name);
                if(!value.equals("")){
                    strs=strs+value+",";
                }
            }
            if(strs.endsWith(",")){
                strs=strs.substring(0,strs.length()-1);
            }
            return strs;
        }

    --将list转成字符串

        /**
         * 将list转成字符串
         * @param list
         * @return
        */
        public String ListStringToStrs(List<String> list){
            String strs="";
            for(String str:list){
                if(!str.equals("")){
                    strs=strs+str+",";
                }
            }
            if(strs.endsWith(",")){
                strs=strs.substring(0,strs.length()-1);
            }
            return strs;
        }

    --获得当前周- 周一的日期

        /**
         * 获得当前周- 周一的日期
         * @return
        */
        private String getWeekFirstDay() {
            int mondayPlus = getMondayPlus();
            GregorianCalendar currentDate = new GregorianCalendar();
            currentDate.add(GregorianCalendar.DATE, mondayPlus);
            Date monday = currentDate.getTime();
    
            String default_format="yyyy-MM-dd";
            SimpleDateFormat df=new SimpleDateFormat(default_format);
    
            String preMonday = df.format(monday);
            return preMonday;
        }

    --获得当前周- 周日的日期

       /**
         * 获得当前周- 周日  的日期
         * @return
        */
        private String getWeekLastDay() {
             int mondayPlus = getMondayPlus();
             GregorianCalendar currentDate = new GregorianCalendar();
             currentDate.add(GregorianCalendar.DATE, mondayPlus +6);
             Date monday = currentDate.getTime();
             
             String default_format="yyyy-MM-dd";
              SimpleDateFormat df=new SimpleDateFormat(default_format);
             
             String preMonday = df.format(monday);
             return preMonday;
     
        }

    --获取本周 周一到周日 的日期

        /**
         * 获取本周 周一到周日 日期
         * @return
        */
        public HashMap getWeekFirstToLastDay(){
            HashMap weekday=new HashMap();
            weekday.put("starttime",this.getWeekFirstDay());
            weekday.put("endtime",this.getWeekLastDay());
            return weekday;
        }

    --万元单位换算

        /**
         * 万元单位换算
         * @param str 需要转换的值
         * @param point 保留单位数
         * @param unitstr 单位万元
         * @return
        */
        public String unitWConversion(String str,int point,boolean showunit){
            DecimalFormat df = new DecimalFormat("######0.00");
            df.setMaximumFractionDigits(point);
            df.setRoundingMode(RoundingMode.FLOOR);
            String total=str;
            String unitstr="";
            if(Double.parseDouble(str)>9999){
                total=df.format(Double.parseDouble(str)/10000f);
                if(showunit==true){unitstr="万元";}
            }else{
                total=total;
                if(showunit==true){unitstr="元";}
            }
            return total+unitstr;
        }

    --获取占比

        /**
         * 获取占比
         * @param d1
         * @param d2
         * @return
        */
        public String getBaifenbi(String d1,String d2){
            String value="0";
            if(d1.matches("^[-\+]?[.\d]*$") && d2.matches("^[-\+]?[.\d]*$")){
                Double tb=(Double.parseDouble(d1)/Double.parseDouble(d2))*100;
                value=this.getDoublePoint(tb,2);    
            }
            if(!value.matches("^[-\+]?[.\d]*$")){
                value="0";
            }
            return value;
        }

    --获取指定日期所属月份的 最后一天

        /**
         * 获取指定日期所属月份的 最后一天
         * @param datatimestr
         * @return
         */
        public String getEndDayByMonth(String datatimestr){
            String endtime="";
            try{
                 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
                 Date d = sdf.parse(datatimestr);
                 Calendar calendar = Calendar.getInstance();  
                 calendar.setTime(d);
                 calendar.set(Calendar.DATE, 1);  
                 calendar.roll(Calendar.DATE, -1);  
                 int maxDate = calendar.get(Calendar.DATE);  
                 endtime=datatimestr.substring(0,datatimestr.lastIndexOf("-"))+"-"+this.zeroFill(maxDate+"",2);
            }catch(Exception ex){
                ex.printStackTrace();
            }
            return endtime;
        }

    --比较两个日期大小 DATE1>DATE2 1,DATE1

        /**
         * 比较两个日期大小 DATE1>DATE2 1,DATE1<DATE2 2,DATE1=DATE2 3
         * @param DATE1
         * @param DATE2
         * @return
         */
        public static int compareDate(String DATE1, String DATE2) {        
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date dt1 = df.parse(DATE1);
                Date dt2 = df.parse(DATE2);
                if (dt1.getTime() > dt2.getTime()) {
                    return 1;
                } else if (dt1.getTime() < dt2.getTime()) {
                    return 2;
                } else if (dt1.getTime() == dt2.getTime()) {
                    return 3;
                }
            } catch (Exception exception) {
                exception.printStackTrace();
            }
            return 0;
        }

    --计算同比方法

        /**
         * 计算同比方法
         * @param d1 上年数据
         * @param d2 本年数据
         * @return
         */
        public HashMap getTongbiData(String sd1,String sd2){
            //System.out.println("sd1::" + sd1 + " sd2:"+sd2);
            Double d1=Double.parseDouble(sd1);
            Double d2=Double.parseDouble(sd2);
            
            String orderby="";
            String value="";
            Double tb=0.00;
            if(d1>0){//上一年有数据
                if(d2>0){
                    if(d2>d1){
                        orderby="asc";//代表上升
                        tb=(Double.parseDouble((d2-d1)+"")/Double.parseDouble(d1+""))*100;
                    }else{//代表下升
                        if(!d2.equals(d1)){
                            orderby="desc";
                        }
                        tb=(Double.parseDouble((d1-d2)+"")/Double.parseDouble(d1+""))*100;
                    }
                }else{
                    if(d2>0){
                        orderby="desc";//代表下降
                    }else{
                        orderby="";
                    }
                }
            }else{//上一年没有数据
                if(d2>0){
                    orderby="asc";
                    tb=100.0;
                }else{
                    tb=0.0;
                }
            }
            value=this.getDoublePoint(tb,2)+"%";
            HashMap map=new HashMap();        
            map.put("value",value);
            map.put("orderby",orderby);
            return map;
        }
  • 相关阅读:
    42. Trapping Rain Water
    223. Rectangle Area
    645. Set Mismatch
    541. Reverse String II
    675. Cut Off Trees for Golf Event
    安装 VsCode 插件安装以及配置
    向上取整 向下取整 四舍五入 产生100以内随机数
    JS 判断是否为数字 数字型特殊值
    移动端初始配置,兼容不同浏览器的渲染内核
    Flex移动布局中单行和双行布局的区别以及使用
  • 原文地址:https://www.cnblogs.com/LarryBlogger/p/7063248.html
Copyright © 2011-2022 走看看