概述
前言
最近翻公司的代码,发现代码中大量出现了BigDecimal的使用,这个东西在以前的业务中没有看到过,记录下来
使用
1.why
如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。
2.what
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。而且 BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。
通常建议优先使用String构造方法。
以此为例子:BigDecimal b =new BigDecimal("0.1");
3.how
首先导入包,基本上idea会智能提示我们导入,简单又方便
import java.math.BigDecimal;
3.1 加减乘除
-
add(BigDecimal)
BigDecimal对象中的值相加,返回BigDecimal对象
-
subtract(BigDecimal)
BigDecimal对象中的值相减,返回BigDecimal对象
-
multiply(BigDecimal)
BigDecimal对象中的值相乘,返回BigDecimal对象
-
divide(BigDecimal)
BigDecimal对象中的值相除,返回BigDecimal对象
-
toString()
将BigDecimal对象中的值转换成字符串
-
doubleValue()
将BigDecimal对象中的值转换成双精度数
-
floatValue()
将BigDecimal对象中的值转换成单精度数
-
longValue()
将BigDecimal对象中的值转换成长整数
-
intValue()
将BigDecimal对象中的值转换成整数
3.2 和0比较
判断是否为0:amount.compareTo(BigDecimal.ZERO)==0
判断是否大于0:amount.compareTo(BigDecimal.ZERO) > 0
判断是否小于0:amount.compareTo(BigDecimal.ZERO) < 0
3.3 两个数比较
if(a.compareTo(b) == -1){
System.out.println("a小于b");
}
if(a.compareTo(b) == 0){
System.out.println("a等于b");
}
if(a.compareTo(b) == 1){
System.out.println("a大于b");
}
if(a.compareTo(b) > -1){
System.out.println("a大于等于b");
}
if(a.compareTo(b) < 1){
System.out.println("a小于等于b");
}
最后
以上就是着急外套为你收集整理的Java学习笔记-BigDecimal使用的全部内容,希望文章能够帮你解决Java学习笔记-BigDecimal使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复