BigDecimal多值求和

简介: java.math.BigDecimal。BigDecimal一共有4种够造方法,让我先来看看其中常用两种用法。

java.math.BigDecimal。BigDecimal一共有4种够造方法,让我先来看看其中常用两种用法:


第一种:BigDecimal(double val)//不建议使用下面代码说明原因


第二种:BigDecimal(String val)  //通常采用这种方式


来看看BigDecimal的四则运算:


BigDecimal的四则运算

加法 bigDecimal1.add(bigDecimal2)
减法 bigDecimal1.subtract(bigDecimal2)
乘法 bigDecimal1.multiply(bigDecimal2)
除法 bigDecimal1.divide(bigDecimal2)


参数定义


ROUND_CEILING (向正无穷方向舍入 )


ROUND_DOWN (向零方向舍入 )


ROUND_FLOOR (向负无穷方向舍入 )


ROUND_HALF_DOWN(向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 )


ROUND_HALF_EVEN (向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN )


ROUND_HALF_UP (向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6 );


ROUND_UNNECESSARY (计算结果是精确的,不需要舍入模式 )


ROUND_UP (向远离0的方向舍入)


计算多个值得和



//

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class TestNumber {
  public static void main(String[] args) {
        //计算多个值的和
    List<String> list=new ArrayList<>();
    list.add("123.0");
    list.add("12.0");
    list.add("3.0");
    BigDecimal count=new BigDecimal(0);
    for(String s:list) {       
      count = count.add(new BigDecimal(s));         
    }
    System.out.println(count); 
    //为什么不建议new Double的构造方法
    BigDecimal b1=new BigDecimal(2.387);
    BigDecimal add = b1.add(new BigDecimal(2.387));
    System.out.println(add);//4.774000000000000021316282072803005576133728027343750
  }
}
相关文章
|
存储 前端开发 安全
webhook是什么 与API的区别在哪里
webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送。 举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhooks 的典型场景。
webhook是什么 与API的区别在哪里
|
算法 数据安全/隐私保护
一文详解 RSA 非对称加密算法
非对称加密算法指的是 加、解密使用不同的密钥,一把为公开的公钥,另一把为私钥。 公钥加密的内容只能由私钥进行解密,反之由私钥加密的内容只能由公钥进行解密。也就是说,这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容只能由对方进行解密。
9787 1
|
编解码 Java Maven
Java修改图片分辨率(附代码) | Java工具类
Java修改图片分辨率(附代码) | Java工具类
Java修改图片分辨率(附代码) | Java工具类
|
JSON fastjson Java
Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/61194594 ...
5100 0
|
Java Maven
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
7337 0
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
|
11月前
|
SQL 数据库管理 索引
SQL语句查询教师表:高效构建与技巧分享
在数据库管理中,查询操作是最基础也是最重要的功能之一
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
存储 SQL 数据挖掘
ClickHouse使用场景和案列分析
@[TOC](目录) # 一、ClickHouse 概述 ## 1. ClickHouse简介 ClickHouse 是一款开源的分布式列式数据库,旨在处理大规模数据集并实现快速查询。它最初由俄罗斯搜索引擎公司 Yandex 于 2016 年发布,并在短时间内获得了广泛的关注和应用。ClickHouse 具有高性能、可扩展性和可靠性等特点,成为处理海量数据的理想工具。 ## 2. ClickHouse 发展历程 ClickHouse 的发展历程可以追溯到 2016 年,当时 Yandex 公司意识到传统的关系型数据库在处理大规模数据时存在性能瓶颈,于是开始研发一款专为大数据处理而设计的列式数
3916 0
|
分布式计算 资源调度 Hadoop
在Linux系统上安装Hadoop的详细步骤
【1月更文挑战第4天】在Linux系统上安装Hadoop的详细步骤
1397 0
|
SQL JSON 前端开发
Mysql 时区差8小时的多种问题 统统解决
Mysql 时区差8小时的多种问题 统统解决
4839 0

热门文章

最新文章