package class01.object01;
import java.math.BigDecimal;
/**
*
* @create 2021-02-24 15:19
*/
public class Demo06 {
public static void main(String[] args) {
double d1=1.0;
double d2=0.9;
System.out.println(d1-d2);//0.09999999999999998,double是近似值存储
//BigDecimal,大的浮点数精确计算
BigDecimal bd1 = new BigDecimal("1.0");
BigDecimal bd2 = new BigDecimal("0.9");
//减法
BigDecimal r1=bd1.subtract(bd2);
System.out.println(r1);
//加法
BigDecimal r2=bd1.add(bd2);
System.out.println(r2);
//乘法
BigDecimal r3=bd1.multiply(bd2);
System.out.println(r3);
//除法
BigDecimal r4=new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
System.out.println(r4);
BigDecimal r5=new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
System.out.println(r5);
}
}
注意点:遇到除不尽的情况,使用devede(,int scal,Rounding Mode mode )
参数scal:指定精确到小数点后几位
参数mode:指定取舍模式:ROUND_HALF_UP(四舍五入)