一段代码记住一个Java精度计算实数类:
/**
*@author 修炼到救赎
*@date 2016-03-19 0:00
*BigDecimal类的加减乘除方法申明:
*public BigDecimal add(BigDecimal augend);
*public BigDecimal subtract(BigDecimal subtrahend);
*public Bigdecimal multiply(BigDecimal multiplicand);
*public Bigdecimal divide(Bigdecimal divisor);
*/
public class AccuratelyFloat{
public static void main (String[]args){
double money=3;
double price=1.1;
System.out.println("不精确的计算");
System.out.println(money-price);
//精确浮点的解决办法
BigDecimal money0 = new BigDecimal("3");
BigDecimal price0 = new BigDecimal("1.1");
BigDecimal result = money0.subtract(price0);
System.out.println("精确计算");
System.out.println(result);
}
}