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;
        }
  • 相关阅读:
    Navicat 导出sql问题
    2017,我的第一次年终总结
    dev treelist和searchcontrol组合模糊查询用法
    构造函数详解
    Devexpress常见问题
    Devexpress 常用的功能
    dev Gridcontrol控件属性部分
    记录DEV gridview获取行列数据方法
    string类的几种方法
    plsql中的procedure和function编程
  • 原文地址:https://www.cnblogs.com/LarryBlogger/p/7063248.html
Copyright © 2011-2022 走看看