Java中int转Double再转换成百分数并应用在求同比昨日增长率

场景

求数据库中某记录的同比昨日增长率。

使用MyBatisPlus的selectCount方法返回的是int类型。

最后需要再转换成百分数表示。

实现

//查询昨日物流数
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date createTimeDate = simpleDateFormat.parse(createTime);
        createTimeDate = yesterday(createTimeDate);
        String formateDate = simpleDateFormat.format(createTimeDate);
        QueryWrapper<BusLogisticsOrder> BusLogisticsOrderQueryWrapper1 =new QueryWrapper<BusLogisticsOrder>();
        BusLogisticsOrderQueryWrapper1.eq("deleted_flag","0");
        BusLogisticsOrderQueryWrapper1.apply("CONVERT(varchar(100), gmt_creat, 23)= '"+formateDate+"'");
        Integer sumCountYesterDay = busLogisticsOrderMapper.selectCount(BusLogisticsOrderQueryWrapper1);
        String sumPercent="";
        if(sumCountYesterDay==0){
            if(sumCount==0){
                sumPercent="+0%";
            }else{
                sumPercent="+100%";
            }
        }else{
            Double sumPercentNum=0.0;
            sumPercentNum= Double.valueOf(Double.valueOf((sumCount-sumCountYesterDay))/Double.valueOf(sumCountYesterDay));
            DecimalFormat df = new DecimalFormat("0.00%");
            if(sumCount-sumCountYesterDay<0){
                sumPercent = df.format(sumPercentNum);
            }else{
                sumPercent = "+"+df.format(sumPercentNum);
            }

打断点查看效果

猜你喜欢

转载自blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90031619