bigdecimal保留4位小数_BigDecimal类

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

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);

}

}