我使用下面的方法得到了错误的结果.
public double evaluate(final double leftOperand, final double rightOperand) {
Double rtnValue = new Double(leftOperand * rightOperand);
return rtnValue.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)
输入参数值为:leftOperand = 100和rightOperand = 2.55
我得到了错误答案: 254.99999999999997
正确答案是255.0
使用BigDecimal
BigDecimal bd = new BigDecimal("100");
BigDecimal ans = bd.multiple(new BigDecimal("2.55"));
System.out.println(ans);
Run Code Online (Sandbox Code Playgroud)
也可以看看
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |