java学习笔记-BigDecimal类

java学习笔记-BigDecimal类

构造方法

BigDecimal(double val)      
BigDecimal(String val)
	package com.ustc.test1;
	
	import java.math.BigDecimal;
	
	public class MyBigDecimal {
    
    
	
	
	    public static void main(String[] args) {
    
    
	
	//不精确运算
	//        BigDecimal a = new BigDecimal(0.1);
	//        BigDecimal b = new BigDecimal(0.2);
	//        BigDecimal c = a.add(b);
	//        System.out.println(c);
	
	
	        //如果想要精确运算  请使用字符串的构造方法
	        BigDecimal a = new BigDecimal("0.1");
	        BigDecimal b = new BigDecimal("0.2");
	        BigDecimal c = a.add(b);
	        System.out.println(c);
	
	
	        BigDecimal d = a.subtract(b);
	        System.out.println(d);
	
	        BigDecimal e = a.multiply(b);
	        System.out.println(e);
	
	
	        BigDecimal f = a.divide(b);
	        System.out.println(f);
	
	
	    }
	}

除法相关说明,因为BigDecimal是精确计算 所以除法会有除不尽情况
除法 divide 三个参数 参与运算的另一个对象 + 小数点之后精确到多少位 + 舍入模式(进一法 去尾法 四舍五入)

BigDecimal f = a.divide(b,2,BigDecimal.ROUND_UP);
BigDecimal f = a.divide(b,2,BigDecimal.ROUND_FLOOR);
BigDecimal f = a.divide(b,2,BigDecimal.ROUND_HALF_UP);

总结:BigDecimal 是用来进行精确计算的
创建 BigDecimal的对象 构造方法使用参数类型为字符串的
四则运算中的除法 如果除不尽请使用divide的三个参数的方法。 否则报错!

Guess you like

Origin blog.csdn.net/qq_44653420/article/details/121380396