double radius = 5;
double area = Math.PI * Math.pow(radius, 2);
// System.out.println(area);
BigDecimal bd = new BigDecimal(area).setScale(2, HALF_UP);
// BigDecimal bd = new BigDecimal(area).setScale(2, ROUND_HALF_UP);
System.out.println(bd.toString());
上述輸出被打印爲78.54得到,但如果我通過計算器(窗口計算值接口)執行相同的操作的輸出出來作爲78.57(即22/7 * 25
)。不同結果而舍入小數
爲什麼會出現
這只是:pi實際上不是22/7。 – 2011-05-19 09:31:07
如果我在calc.exe中執行PI * 25,我得到78.539 ...,即四捨五入爲78.54 – Thomas 2011-05-19 09:33:04
當我在小學時,我們的老師告訴我們,PI的定義是22/7。可悲的是,我直到14歲時才相信這一點。我童年時最大的創傷。 – 2011-05-19 09:59:23