BigDecimal类的一般使用、BigDecimal转double
BigDecimal大据类
浮点型运算的时候直接 加减乘除时可能会出现数据失真(精度问题)。
BigDecimal可以解决浮点型运算数据失真的问题。
double a = 0.1;
double b = 0.2;
double c = a+b;
System.out.println(c);//0.30000000000000004
BigDecimal类
包: java.math.
创建一个BigDecimal对象
public static BigDecimal valueOf(double val)
方法声明
public BigDecimal add (BigDecinal value)
加法运算public BigDecimal subtract (BigDecimal value)
减法运算public BigDecimal multiply(BigDecimal value)
乘法运算public BigDecimal divide (BigDecimal value)
除法运算
BigDecimal biga = BigDecimal.valueOf(a);
BigDecimal bigb = BigDecimal.valueOf(b);
BigDecimal bigc = biga.add(bigb);
System.out.println(bigc);//0.3
BigDecimal转double
public double doubleValue()
然而BigDecimal只是解决精度问题的手段,获取double数据才是我们的目的
double rs = bigc.doubleValue();
BigDecimal , double 转换方式
BigDecimal offsetAmount = (BigDecimal) cj.get(i).get("xxxx");
double offsetAmount = offsetAmount.doubleValue();
BigDecimal直接返回给前台还不行,得转成double不清楚为什么。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。