学习Java第二十二天--BigDecimal类
作者:互联网
Big Decimal类的作用、语法、用法、注意事项
11.5 BigDecimal类
11.5.1 为什么要用BigDecimal类
public class Test{
public static void main(String[] args){
double d1= 1.0;
double d2 = 0.9;
Systom.out.println(d1-d2);
}
}
输出结果:
0.0999999999999999
- 很多实际应用中需要精确运算,而double是近似值存储,不符合要求,需要借助BigDecimal。
11.5.2 BigDecimal语法
- 位置:java.math包中;
作用:精确计算浮点数;
- 创建方式:BigDecimal bd = new BigDecimal(“1.0”);
- 方法:
BigDecimal add(BigDecimal bd); //加
BigDecimal subtract(BigDecimal bd); //减
BigDecimal multiply(BigDecimal bd); //乘
BigDecimal divide(BigDecimal bd); //除
11.5.3 利用BigDecimal可以进行数组运算
import java.math.BigDecimal;
public class TestBigDecimal {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("2.2");//需要以字符串的形式传参
BigDecimal bd2 = new BigDecimal("1.2");
BigDecimal bd3 = new BigDecimal("1.0");
System.out.println(bd1);
System.out.println(bd2);
System.out.println(bd3);
System.out.println(bd1.add(bd2));//加法
System.out.println(bd1.subtract(bd3));//减法
System.out.println(bd1.multiply(bd2));//乘法
BigDecimal result = bd1.divide(bd2,2, BigDecimal.ROUND_HALF_UP);//除不尽的情况下,必须明确两个信息,中间是保留几位小数,后者是四舍五入
System.out.println(result);
}
}
输出结果:
2.2
1.2
1.0
3.4
1.2
2.64
1.83
- 进行除法运算时,如果不能准确的计算出结果时需要指定保留的位数和取舍方式;
11.5.4 divide()方法
除法:BigDecimal(BigDecimal bd , int scal , RoundingMode mode)
参数scal:指定精确到小数点后几位;
参数mode:
指定小数部分的取舍模式,通常采用四舍五入的模式;
取值为BigDecimal.ROUND_HALF_UP;
标签:bd,第二十二,Java,BigDecimal,11.5,System,println,out 来源: https://blog.csdn.net/weixin_44257082/article/details/104640465