首页 > 其他分享 >jdk8之stream求和,保留两位小数

jdk8之stream求和,保留两位小数

时间:2024-08-09 15:39:44浏览次数:11  
标签:BigDecimal stream GateBaseBResultStatis list add jdk8 model 小数

统计接口,最下面加 总计 一行时

public List<GateBaseBResultStatis> gateBaseBResultStatisTotal(List<GateBaseBResultStatis> list){
        GateBaseBResultStatis model = new GateBaseBResultStatis();
        model.setAddvcd("总计");

        model.setTotalCount(list.stream().map(GateBaseBResultStatis :: getTotalCount).reduce(BigDecimal.ZERO, BigDecimal :: add).setScale(2, BigDecimal.ROUND_HALF_UP));
        model.setGateNumberCount(list.stream().map(GateBaseBResultStatis :: getGateNumberCount).reduce(BigDecimal.ZERO, BigDecimal :: add).setScale(2, BigDecimal.ROUND_HALF_UP));
        model.setGateNumberRate(model.getGateNumberCount().divide(model.getTotalCount(), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")) + "%");
        list.add(model);

        return list;
    }

 

需要注意,属性也要用BigDecimal 修饰,否则 BigDecimal :: add 不能用

//总计
private BigDecimal totalCount;

 

标签:BigDecimal,stream,GateBaseBResultStatis,list,add,jdk8,model,小数
From: https://www.cnblogs.com/Donnnnnn/p/18350846

相关文章

  • 尝试舍入小数点时的小数文字无效
    学习Python的第一个月,所以放轻松。我的代码有问题,我的程序是将测量值从米转换为英寸、英尺和英里。以英里为单位的答案大约有9位小数,所以我只想显示前5位。但我收到错误“无效的十进制文字”。我在另一个程序中对圆的半径使用了类似的格式:Pi=3.14r=float(......
  • NVMe主机控制器,AMBA-AXI4-Stream接口,Xilinx FPGA,介绍手册
    NVMeA4SHostControllerIP1     介绍NVMeA4SHostControllerIP可以连接高速存储PCIeSSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口,适合于高性能、顺序访问的应用,比如视频记录、信号......
  • stream的用法
    /***筛选出Integer集合中大于7的元素,并打印出来*/privatestaticvoidtest2(){List<Integer>list=Arrays.asList(6,7,3,8,1,2,9);Stream<Integer>stream1=list.stream();stream1.filter(x->x>7).forEach(System.out::println);}......
  • Java Stream
    JavaStream是Java8引入的一种强大工具,旨在简化数据处理操作。它允许开发者以声明性方式对集合或其他数据源执行一系列复杂的操作,如过滤、映射、规约等,从而提高代码的简洁性和可读性。以下是关于JavaStreamAPI的更详细的概述和示例,帮助你更好地理解其工作原理和应用场景。......
  • 函数式编程-Stream流
    一、函数式编程-Stream流1、概述1.1为什么学?能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱普通写法与函数式编程写法对比:普通写法//查询未成年作家的评分在70以上的书籍由于洋流影响所以作家和书籍可能出现重复,需要进行去重List<B......
  • CH2~CH5 DataStream API基础
    一个Flink程序,就是对DataStream进行各种转换。基本上由以下几部分构成接下来分别从执行环境、数据源、转换操作、输出四大部分,介绍DataStreamAPI。导入ScalaDataStreamApiimportorg.apache.flink.streaming.api.scala._CH-5DataStreamAPI基础一、执行环境1.1创建执......
  • 图像处理之Video In to AXI4-Stream教程
    免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。读者在使用本文信息时,应自行......
  • JDK8 的下载、安装、配置环境变量教程
    JDK8的下载、安装、配置环境变量图文教程JDK8的下载JDK8安装JDK8环境变量配置JDK8检验配置是否完成JDK8的下载链接:官网下载地址点击下载JDK8安装1、双击运行jdk-8u421-windows-x64.exe文件2、点击“下一步”3、更改安装路径,(这个路径你要记住,即使不......
  • 使用Streamlit构建一个web模拟HTTP请求工具
    目录前言HTTP工具功能点:1.导入库: 2.设置页面配置:3.Markdown格式的说明文本:4.用户输入界面:5.发送请求按钮和逻辑:6.发送HTTP请求并计算请求细节:7.总结 前言    最初就是因为在微信看到一篇文章中,看到此http工具的制作因为觉得Streamlit有无限......
  • Centos8下载报错:Errors during downloading metadata for repository ‘appstream‘:
    前提使用docker安装centos8步骤复现:启动后发现环境中没有vim功能,想着安装一下,发现报错:Errorsduringdownloadingmetadataforrepository'appstream':原因:找到AI工具翻译后:结合centos系统在2021年就没有在进行维护了,再进行网上大量查阅得知应该是yum源的问题,这里......