我使用以下方法得到错误的结果。
public double evaluate(final double leftOperand, final double rightOperand) {
Double rtnValue = new Double(leftOperand * rightOperand);
return rtnValue.doubleValue();
}
输入参数值为:leftOperand= 100 和 rightOperand=2.55
我得到错误的答案:254.99999999999997
正确答案是255.0
Use BigDecimal
BigDecimal bd = new BigDecimal("100");
BigDecimal ans = bd.multiple(new BigDecimal("2.55"));
System.out.println(ans);
See Also
工作 IDE One 演示
Java 中使用 double 保持精度
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)