BigDecimal用法
示例代码:
public class Demo3 {
public static void main(String[] args) {
//double和float采用近似值存储,会产生误差
// double a = 1.0;
// double b = 0.9;
// System.out.println(a-b); // 0.09999999999999998
//
// //面试题
// double result = (1.4-0.5)/0.9;
// System.out.println(result); //0.9999999999999999
//BigDecimal 精确计算浮点数
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.9");
//减法
BigDecimal c = a.subtract(b);
System.out.println(c); // 0.1
//加法
BigDecimal d = a.add(b);
System.out.println(d); // 1.9
//乘法
BigDecimal e = a.multiply(b);
System.out.println(e); // 0.90
//除法
BigDecimal f = new BigDecimal("1.4")
.subtract(new BigDecimal("0.5"))
.divide(new BigDecimal("0.9"));
System.out.println(f); // 1
BigDecimal g = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP); //重载方法,保留两位小时 四舍五入
System.out.println(g); //3.33
}
}