- import java.math.BigDecimal;
-
- public class Main{
- public static void main(String[] args){
- System.out.println(0.09+0.01);
- System.out.println(0.216-0.1);
- System.out.println(0.226*0.01);
- System.out.println(0.09/0.1);
- //十进制小数转化为二进制是很复杂的 很可能会让float和double都无法承担
- //小数不精确 计算结果也是不精确的
- //银行中计算精准运算就很重要
- //精密零件也很重要
- //1.我们通过传递double类型的小数来创建对象
- //这种方式很有可能是不精确的->思考:需要在字符串里面来保留我们的小数
- BigDecimal bd1 = new BigDecimal(0.01);
- BigDecimal bd2 = new BigDecimal(0.09);
- System.out.println(bd1);
- System.out.println(bd2);
-
- BigDecimal bd3 = new BigDecimal("0.01");
- BigDecimal bd4 = new BigDecimal("0.09");
- System.out.println(bd3);
- System.out.println(bd4);
- BigDecimal bd5=bd4.add(bd3);
-
- //通过静态方法来获取对象
- BigDecimal bd6 = BigDecimal.valueOf(10);//以10.0的大小来参与计算的
- System.out.println(bd6);
-
- //通过字符串和静态方法的形式创建对象是开发过程的实际要求
- //没有超过double的范围就使用静态方法
- //如果超过了double范围就使用构造方法
- //我们传递的是0~10之间的整数 包含0和10 方法会返回已经创建好的对象
- BigDecimal bd7=BigDecimal.valueOf(10);
- BigDecimal bd8=BigDecimal.valueOf(10);
- System.out.println(bd7==bd8);
-
- BigDecimal a = BigDecimal.valueOf(10.0);
- BigDecimal b = BigDecimal.valueOf(2.0);
- //加法计算
- BigDecimal sum = a.add(b);
- //减法运算
- BigDecimal sub = a.subtract(b);
- //乘法运算
- BigDecimal mul = a.multiply(b);
- //除法运算
- BigDecimal div = a.divide(b);
-
-
- }
- }