美文网首页
java计算数据的百分比

java计算数据的百分比

作者: 惜鸟 | 来源:发表于2020-12-17 15:17 被阅读0次

    概述

    有这样一个需求,需要计算一个集合中的数据占集合总数的百分比,这里做一个简单的记录。

    java计算数据的百分比

    实现代码如下:

    import java.text.DecimalFormat;
    import java.text.NumberFormat;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class Test3 {
        public static void main(String[] args) {
            List<Integer> list = new ArrayList<>();
            list.add(15);
            list.add(21);
            list.add(41);
            // 计算集合数据的总数
            int sum = list.stream().mapToInt(value -> value).sum();
            System.out.println("print getPercent -------------");
            List<String> collect = list.stream().map(a -> getPercent(a, sum)).collect(Collectors.toList());
            System.out.println(collect.toString());
            System.out.println("print getPercent2 ------------");
            List<String> collect2 = list.stream().map(a -> getPercent2(a, sum)).collect(Collectors.toList());
            System.out.println(collect2.toString());
    
    
        }
    
        /**
         * 方式一:使用java.text.NumberFormat实现
         * @param x
         * @param y
         * @return
         */
        public static String getPercent(int x, int y) {
            double d1 = x * 1.0;
            double d2 = y * 1.0;
            NumberFormat percentInstance = NumberFormat.getPercentInstance();
            // 设置保留几位小数,这里设置的是保留两位小数
            percentInstance.setMinimumFractionDigits(2);
            return percentInstance.format(d1 / d2);
        }
    
        /**
         * 方式二:使用java.text.DecimalFormat实现
         * @param x
         * @param y
         * @return
         */
        public static String getPercent2(int x, int y) {
            double d1 = x * 1.0;
            double d2 = y * 1.0;
            // 设置保留几位小数, “.”后面几个零就保留几位小数,这里设置保留四位小数
            DecimalFormat decimalFormat = new DecimalFormat("##.0000%");
            return decimalFormat.format(d1 / d2);
        }
    
    
    }
    
    

    运行结果如下:


    image.png

    相关文章

      网友评论

          本文标题:java计算数据的百分比

          本文链接:https://www.haomeiwen.com/subject/rprzgktx.html