BigDecimal浮点数精确计算类

BigDecimal浮点数精确计算类

package com.tiedandan.java常用类.BIGdecimal浮点精确运算;

import java.math.BigDecimal;

public class Application {
   public static void main(String[] args) {
       //普通double类型进行数据计算会有误差
       double a =1.0;
       double b =0.9;
       System.out.println("double类型计算结果"+(a-b));
       BigDecimal a1 = new BigDecimal(1.0);//值不能是数,要是字符串,不然还算不准
       BigDecimal b1 = new BigDecimal(0.9);
       BigDecimal c1 = a1.subtract(b1);
       System.out.println("BigDecimal传值运算结果:"+c1);
       BigDecimal a2 = new BigDecimal("1.0");//值不能是数,要是字符串,不然还算不准
       BigDecimal b2 = new BigDecimal("0.9");
       BigDecimal c2 = a2.subtract(b2);
       System.out.println("BigDecimal传字符串运算结果:"+c2);
       //加法
       BigDecimal c3 =a2.add(b2);
       System.out.println("BigDecimal加法运算结果:"+c3);
       //乘法
       BigDecimal c4 =a2.multiply(b2);
       System.out.println("BigDecimal乘法运算结果:"+c4);
       //除法
       BigDecimal a3 = new BigDecimal("1.8");
       BigDecimal b3 = new BigDecimal("0.9");
       BigDecimal c5 = a3.divide(b3);
       System.out.println("BigDecimal除法运算结果:"+c5);//除法如果除不尽会报错,需要设置保留小数
       BigDecimal c6 = a2.divide(b2,3);//保留三位小数
       System.out.println("BigDecimal除法保留小数运算结果:"+c6);

  }
}

posted on 2021-11-15 21:15  张铁蛋666  阅读(88)  评论(0编辑  收藏  举报

导航