java基础总结06-常用api类-BigDecimal-精确计算

BigDecimal

  • 作用

    可以用来进行精确计算

  • 构造方法

    方法名说明
    BigDecimal(double val)参数为double
    BigDecimal(String val)参数为String
  • 常用方法

    方法名说明
    public BigDecimal add(另一个BigDecimal对象)加法
    public BigDecimal subtract (另一个BigDecimal对象)减法
    public BigDecimal multiply (另一个BigDecimal对象)乘法
    public BigDecimal divide (另一个BigDecimal对象)除法
    public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)除法
  • 总结

    1. BigDecimal是用来进行精确计算的
    2. 创建BigDecimal的对象,构造方法使用参数类型为字符串的。
    3. 四则运算中的除法,如果除不尽请使用divide的三个参数的方法。
    4. 构造尽量使用字符串形式

    除法参数:

    BigDecimal divide = bd1.divide(参与运算的对象,小数点后精确到多少位,舍入模式);
    参数1 ,表示参与运算的BigDecimal 对象。
    参数2 ,表示小数点后面精确到多少位
    参数3 ,舍入模式  
      BigDecimal.ROUND_UP  进一法
      BigDecimal.ROUND_FLOOR 去尾法
      BigDecimal.ROUND_HALF_UP 四舍五入
    
    

实例:

package com.edu1.test;

import java.math.BigDecimal;

public class Demo {
    public static void main(String[] args) {
        String a = "2";
        String b = "10.000008";
        BigDecimal a1 = new BigDecimal(a);
        BigDecimal b1 = new BigDecimal(b);
        //加
        System.out.println(a1.add(b1));
        //减法
        System.out.println(b1.subtract(a1));
        // 乘法
        System.out.println(a1.multiply(b1));
        // 除法
        System.out.println(b1.divide(a1));
        // 除法
        System.out.println(b1.divide(a1,2, BigDecimal.ROUND_UP));
    }
}
// 打印如下
//12.000008
//8.000008
//20.000016
//5.000004
//5.01

posted @ 2022-04-02 09:46  coderwcb  阅读(40)  评论(0编辑  收藏  举报