IT行业云计算java培训课程学习笔记|Java编程语言中BigDecimal的用法
在IT行业中Java编程语言是一门吃香的技术,近几年Java行业越来越火热,许多人想转行做Java开发,但又担心自己之前没基础能不能学会,今天北京八维教育培训学校分享整理好的一份IT行业云计算java培训课程学习笔记中的Java编程语言中BigDecimal的用法。
如果对数值结果精度要求很高,那么就可以使用BigDecimal,BigDecimal可以精准的控制小数点后面的数字
1. 实例 BigDecimal 对象
通常会使用 String 和 int 构造方法实例出 BigDecimal 对象,即
new BigDecimal(String val);
new BigDecimal(int val);
如参数为 double 类型,得先转换成 String 类型再入参
new BigDecimal(Double.toString(123.123));
2. BigDecimal 加减乘除
加减乘除都是用 BigDecimal 对象点(.)加减乘除方法入参 BigDecimal 对象,返回的也是 BigDecimal 对象
加:BigDecimal add = new BigDecimal("123.123").add(new BigDecimal("123.123")); ---> 246.246
减:BigDecimal subtract = new BigDecimal("123.123").subtract(new BigDecimal("123.123")); ---> 0.000
乘:BigDecimal multiply = new BigDecimal("123.123").multiply(new BigDecimal("123.123")); ---> 15159.273129
除:BigDecimal divide = new BigDecimal("123.123").divide(new BigDecimal("123.123")); ---> 1
注:其中除法一般不会这样直接除,在不能整除的情况下,这样运行程序是会报错的,所以一般除法会使用下面这个重载方法
new BigDecimal("10").divide("40",1,ROUND_HALF_UP); ---> 0.3
正常计算 10/40 结果为 0.25, 在这里是计算 十除以四十,保留一位小数,四舍五入模式。所以得到的结果为 0.3
最常用的模式:
① ROUND_HALF_UP:四舍五入
② ROUND_HALF_DOWN:向下取舍(去掉保留小数位后面的小数)
3. Scale 属性操作
① 获取小数的位数:new BigDecimal("123.123").scale() ---> 3
② setScale() 方法保留几位小数
- setScale(int NewScale):(注:入参的数字只能大于等于小数的位数,括号中只能入参大于等于 3 的数)
例: new BigDecimal("123.123").setScale(3) ---> 123.123
new BigDecimal("123.123").setScale(5) ---> 123.12300
- setScale(int newScale, RoundingMode roundingMode):
例:new BigDecimal("123.123").setScale(2,RoundingMode.HALF_UP) ---> 123.12
new BigDecimal("123.125").setScale(2,RoundingMode.HALF_UP) ---> 123.13
new BigDecimal("123.123").setScale(2,RoundingMode.HALF_DOWN) ---> 123.12
new BigDecimal("123.125").setScale(2,RoundingMode.HALF_DOWN) ---> 123.12
4. compareTo 比较大小
等于:new BigDecimal("123.123").compareTo(new BigDecimal("123.123"))==0 ---> true
new BigDecimal("123.123").compareTo(new BigDecimal("123.123")) ---> 0
如果 compareTo 的结果为 0 的话,就证明两个对象相等(当左边不等于右边时,第一个表达式则为 false)
小于:new BigDecimal("123.122").compareTo(new BigDecimal("123.123")) < 0 ---> true
new BigDecimal("123.122").compareTo(new BigDecimal("123.123")) ---> -1
如果 compareTo 的结果为 -1 的话,就证明左边小于右边(当左边大于等于右边时,第一个表达式则为 false)
大于:new BigDecimal("123.124").compareTo(new BigDecimal("123.123")) > 0 ---> true
new BigDecimal("123.124").compareTo(new BigDecimal("123.123")) ---> 1
如果 compareTo 的结果为 1 的话,就证明左边大于右边(当左边小于等于右边时,第一个表达式则为 false)
开班信息
热点问答
面试题库
IT培训技术知识分享:java开发工程师需要掌握哪些知识?
IT技能云计算培训技术干货Kubernetes教程分享
IT行业解惑:2023Java行业就业发展前景怎么样?
IT行业解惑:2023从Java培训班出来好就业吗?
IT行业解惑:java和php哪个好?
IT行业解惑:java后端开发需要学什么课程?
IT行业解惑:java和c++哪个好?
IT行业解惑:零基础学前端好还是学java好?
IT行业解惑:女生学学云计算技术与应用就业发展前景怎么样?
IT行业解惑:java从入门到精通需要多久?
IT行业解惑:学java要学多久才能参加工作?
IT行业解惑:java编程开发可以从事什么工作?
IT行业解惑:云计算主要学什么课程内容?
IT行业解惑:java就业发展前景怎么样?
IT培训技术知识分享:零基础java编程开发入门应该怎么学?
IT培训技术知识分享:java编程开发有哪些技术?
IT行业解惑:女生适合学java编程开发吗?
IT行业解惑:IT云计算学习是否很难?
推荐问答

八维教育云计算专业解密
八维教育云计算专业课程紧密贴合行业发展趋势与企业实际需求。基础阶段,学员将系统学习 Java 编程语言,掌握其核心语法与编程逻辑,为后续深入学习云计算技术筑牢根基。...

八维教育Java 云计算培训,开启你的技术新征程
在当下数字化浪潮中,Java 云计算作为前沿技术,正重塑着各个行业。八维教育的 Java 云计算培训,为怀揣技术梦想的你量身打造,助力你在这个充满机遇的领域崭露头角。...

IT行业解惑|优秀的java软件开发工程师需要具备什么能力
Java作为一门广泛应用于企业级应用和开发的编程语言,一直以来都备受青睐。然而,对于那些对Java软件开发工程师感兴趣的人来说,他们经 ...

IT行业解惑|学习云计算有前途吗?
目前,衣食住行等各种基于互联网的服务都在产生大数据,大数据的处理和分析需要云计算。云计算的应用极大地改变了人们的生活方式、消费 ...

IT行业解惑|零基础如何学习云计算?
云计算是近年来的一项新技术。在云计算技术出现之前,没有人知道云计算,大学也没有开设云计算相关的课程。第一批从事云计算工作的人基 ...

IT行业解惑|java软件开发工程师就业前景怎么样?
对于那些想要转行Java软件开发工程师的人来说,门槛相对较低,但是要想有一个长远的职业规划,需要认真规划职业发展。...

IT行业云计算java培训课程学习笔记|Java程序员必须熟知的十项技术
在我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——Java程序员必须熟知的十项技术。...

IT技术解惑|Java工程师如何提升职场竞争力
Java作为一门广泛应用于企业级应用和开发的编程语言,一直以来都备受青睐。然而,对于那些对Java开发感兴趣的人来说,Java工程师如何提升职场竞争力呢?...

IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(九)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...

IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(八)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...

IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(七)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...

IT技术解惑|云计算入门必备常识
云计算技术说难不难,说简单也不简单。首先我们要了解一下什么是云计算。云计算是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的...

IT技术解惑|云计算技术主要学什么?
目前云计算岗位有核心技术多样化,就业岗位全面化的趋势,云计算工程师既要掌握虚拟化、容器、自动化运维及云平台等核心技术,还要了解 ...

IT技术解惑|云计算运维的就业方向有哪些?
云平台运维工程师。云平台运维工程师是云计算运维中最主要和基础的职业方向之一。他们负责管理和维护云计算平台的稳定性和性能,确保云 ...

IT技术解惑|云计算技术人才未来就业发展前景怎么样?
面对未来云计算产业的飞速发展,无论从技术层面,运营商层面还是集成与服务提供层面,企业对于云计算技术人才需求数量激增。...

java编程课程培训学习笔记|易疏忽的日志
当下越来越多的人学习Java编程技术,需要我们从基础知识学起,学好之后还要掌握一定的主流Java技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记...

java编程课程培训学习笔记|equals 方法和==究竟有什么区别
我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——equals 方法和==究竟有什么区别。...

java编程课程培训学习笔记|volatile关键字有什么作用
我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——volatile关键字有什么作用。...

java编程课程培训学习笔记|缓存的淘汰策略有几种方式
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——缓存的淘汰策略有几种方式。...

java编程课程培训学习笔记|数据库如何保证主键唯一性
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——数据库如何保证主键唯一性。...

八维教育启动“晨曦破晓”计划
以科技助力高薪破局
以科技提升系统效率
以科技提高服务质量
八维教育助力学子优质就业!
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通