java API-BigDecimal
-
用于解决浮点型运算精度失真的问题
使用步骤
- 创建对象BigDecimal封装浮点型数据(最好的方法是调用方法)
Public sattic BigDecimal valueOf(double val); //包装浮点数成为BigDecimal对象
bigDecimal常用API
使用实例;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalDemo {
public static void main(String[] args) {
double a = 0.1;
double b = 0.2;
double c = 3.0;
double d = 10.0;
//将相应变量转换成BigDecimal对象
BigDecimal b1 = BigDecimal.valueOf(a);
BigDecimal b2 = BigDecimal.valueOf(b);
BigDecimal b3 = BigDecimal.valueOf(c);
BigDecimal b4 = BigDecimal.valueOf(d);
System.out.println(a+b); //0.30000000000000004
System.out.println(d/c);
//System.out.println(b1.add(b2)); //0.3
//System.out.println(b4.divide(b3)); //error
// System.out.println(b4.divide(b3, 2, RoundingMode.HALF_UP));
double rs = b1.add(b2).doubleValue();
System.out.println(rs);
double rs1 = b4.divide(b3, 2, RoundingMode.HALF_UP).doubleValue();
System.out.println(rs1);
}
}
注意:BigDecimal是一定要精度运算的
总结
- BigDecimal的作用是什么?
- 解决浮点型运算精度失真的问题
- BigDecimal的对象如何获取?
- BigDecimal b = BigDecimal.valueOf(0.1);