文章目录
- 零、前言
- 一、题目描述
- 二、解题思路
- 三、代码详解
- 多学一个知识点
- 四、推荐专栏
- 五、示例源码下载
零、前言
今天是学习 JAVA语言 打卡的第50天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 ),读完文章之后,按解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了。
因为大家都在一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。
学完后,自己写篇学习报告的博客,可以发布到小虚竹JAVA社区 ,供学弟学妹们参考。
我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
一、题目描述
题目:为了弥补虚拟机在高精度计算的不足,JAVA提供了BigDecimal类,用来支持任何精度的浮点计算。
实现:用BigDecimal四则运算
二、解题思路
定义类:MathUtil
使用Math类的求加法:add方法
使用Math类的求减法:subtract方法
使用Math类的求乘法:multiply方法
使用Math类的求除法:divide方法
三、代码详解
public class MathUtil {
public static void main(String[] args) {
BigDecimal number1 = new BigDecimal(1.2345); // 声明高精度浮点数number1
BigDecimal number2 = new BigDecimal(5.4321); // 声明高精度浮点数number2
BigDecimal addition = number1.add(number2); // 计算number1加number2
BigDecimal subtraction = number1.subtract(number2); // 计算number1减number2
BigDecimal multiplication = number1.multiply(number2); // 计算number1乘number2
// 以四舍五入的方式获得高精度除法运算的结果
BigDecimal division = number1.divide(number2, RoundingMode.HALF_UP);
System.out.println("高精度浮点数number1:" + number1);
System.out.println("高精度浮点数number2:" + number2);
System.out.println("高精度浮点数加法:" + addition);
System.out.println("高精度浮点数减法:" + subtraction);
System.out.println("高精度浮点数乘法:" + multiplication);
System.out.println("高精度浮点数除法:" + division);
}
}
多学一个知识点
涉及金额的计算,一定要用BigDecimal。
涉及金额的计算,一定要用BigDecimal。
涉及金额的计算,一定要用BigDecimal。
说个笑话:多算一块钱给客户,客户不会说什么,很开心笑纳了,并送上一句祝福:SB应用,还送钱。
少算一分钱给客户,客户会投诉到你怀疑人生,都想100倍还客户,别纠缠了。找这个bug的成本远超100倍,1000倍了。
四、推荐专栏
《JAVA从零到壹》
《JAVA从零到壹》第八讲:系统常用类
五、示例源码下载
关注下面的公众号,回复筑基+题目号
筑基50