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对象,精确几位,舍入模式) 除法 -
总结
- BigDecimal是用来进行精确计算的
- 创建BigDecimal的对象,构造方法使用参数类型为字符串的。
- 四则运算中的除法,如果除不尽请使用divide的三个参数的方法。
- 构造尽量使用字符串形式
除法参数:
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