同样简单
由于double类型的不精确性,可能你的结果为0.8999999999999999.
可做以下修改
此处需注意
BigDecimal的实例对象是不可变型
如果如下使用将得不到正确结果
应该
public class Change{
public static void main(String args[]){
System.out.println(2.0-1.10);
}
}
由于double类型的不精确性,可能你的结果为0.8999999999999999.
可做以下修改
public class Change{
public static void main(String args[]){
System.out.println(new BigDecimal("2.0").subtract(new BigDecimal("1.10")));
}
}
此处需注意
BigDecimal的实例对象是不可变型
如果如下使用将得不到正确结果
BigDecimal x=new BigDecimal("2.0");
BigDecimal y=new BigDecimal("1.10");
x.subtract(y);
应该
BigDecimal x=new BigDecimal("2.0");
BigDecimal y=new BigDecimal("1.10");
x=x.subtract(y);
本文探讨了Java中双精度浮点数运算的不精确性问题,并提供了使用BigDecimal类进行精确计算的方法。通过实例演示了如何创建BigDecimal对象并执行减法操作。
173

被折叠的 条评论
为什么被折叠?



