1 double d = 114.145; 2 d = (double) Math.round(d * 100) / 100; 3 System.out.println(d);方法是什么原理?

因为领导不相信为什么乘一百除一百就能保留小数点后两位。让我给个说法。说这个方法不科学。我改如何解释并用更科学的方法代替?

看看源码就知道了,你是Math.round(double),此方法返回的参数最接近的long,即11414.5,再处于100,就是114.15了