Java BigDecimal类的一般使用、BigDecimal转double方式
作者:_七七
这篇文章主要介绍了Java BigDecimal类的一般使用、BigDecimal转double方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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不清楚为什么。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。