public static void main(String[] args) { System.out.println(0.06+0.01);//结果0.06999999999999999 System.out.println(1.0-0.42);//结果0.5800000000000001 System.out.println(4.015*100);//结果401.49999999999994 System.out.println(303.1/1000);//结果0.30310000000000004 }
以上丢失精度问题,如下解决:
public static void main(String[] args){
BigDecimal bignum1 = new BigDecimal("值1"); BigDecimal bignum2 = new BigDecimal("值2"); BigDecimal bignum3 = null; //加法 bignum3 = bignum1.add(bignum2); System.out.println("和 是:" + bignum3); //减法 bignum3 = bignum1.subtract(bignum2); System.out.println("差 是:" + bignum3); //乘法 bignum3 = bignum1.multiply(bignum2);
System.out.println("积 是:" + bignum3);
//除法
bignum3 = bignum1.divide(bignum2);
System.out.println("除 是:" + bignum3);
}