相关疑难解决方法(0)

在Java中使用双倍

我找到了这个很好的舍入解决方案:

static Double round(Double d, int precise) {
    BigDecimal bigDecimal = new BigDecimal(d);
    bigDecimal = bigDecimal.setScale(precise, RoundingMode.HALF_UP);
    return bigDecimal.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)

但是,结果令人困惑:

System.out.println(round(2.655d,2)); // -> 2.65
System.out.println(round(1.655d,2)); // -> 1.66
Run Code Online (Sandbox Code Playgroud)

为什么要提供这个输出?我正在使用jre 1.7.0_45.

java floating-point

57
推荐指数
6
解决办法
3486
查看次数

标签 统计

floating-point ×1

java ×1