import java.math.BigDecimal;
public class BigDecimaDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 计算结果,未知
* 原因:计算二进制中,表示浮点数不精确造成
* 超级大型的浮点数据,提供高精度的浮点运算,BigDecimal
*/
function();
function1();
}
/*
* BigDecmial实现三则运算
* + - *
*/
public static void function() {
BigDecimal b1 = new BigDecimal("0.00009");
BigDecimal b2 = new BigDecimal("0.045783219");
BigDecimal bigAdd = b1.add(b2);
System.out .println(bigAdd);
BigDecimal bigSub = b1.subtract(b2);
System.out .println(bigSub);
BigDecimal bigMil = b1.multiply(b2);
System.out .println(bigMil);
}
/*
* BigDecmial实现除法运算
* divide(BigDecimal divisor,int scale,int roundingMode)
* int scale : 保留几位小数
* int roundingMode : 保留模式
* 保留模式
*/
![b63ca31d58bbe3160ba1e115a11bc21b.png](https://img-blog.csdnimg.cn/img_convert/b63ca31d58bbe3160ba1e115a11bc21b.png)
public static void function1() {
BigDecimal b1 = new BigDecimal("0.9");
BigDecimal b2 = new BigDecimal("100");
BigDecimal bigDiv = b1.divide(b2,2,BigDecimal.ROUND_DOWN);
System.out .println(bigDiv);
}
}