BigDecimal:
用于解决浮点型运算的,出现结果失真的问题。
运行结果:
package cn.ensource.d4_bigdecimal;
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
// 目标:了解BigDecimal类
double a = 0.1;
double b = 0.2;
// double c = a + b;
// System.out.println(c);
// 1. 把他们变成字符串封装成BigDecimal对象来处理
// BigDecimal a1 = new BigDecimal(Double.toString(a));
// BigDecimal b1 = new BigDecimal(Double.toString(b));
BigDecimal a1 = BigDecimal.valueOf(a);
BigDecimal b1 = BigDecimal.valueOf(b);
// BigDecimal c1 = a1.add(b1);
// BigDecimal c1 = a1.multiply(b1);
// BigDecimal c1 = a1.subtract(b1);
BigDecimal c1 = a1.divide(b1, 3, BigDecimal.ROUND_HALF_UP);
System.out.println(c1); // 方法重写toString
double k1 = c1.doubleValue();
System.out.println(k1);
}
}
阿里巴巴的Java开发手册中的规范: