如果值为200.3456,则应该将其格式化为200.34。 如果它是200,那么它应该是200.00。


当前回答

四舍五入通常不是一个人想要的。相反,应该使用String.format()以所需的格式表示它。

其他回答

double value= 200.3456;
DecimalFormat df = new DecimalFormat("0.00");      
System.out.println(df.format(value));

对于两个四舍五入数字。非常简单,你基本上是更新变量,而不是只是显示的目的,DecimalFormat。

x =数学。地板(x * 100) / 100;

四舍五入通常不是一个人想要的。相反,应该使用String.format()以所需的格式表示它。

我认为这样比较简单:

double time = 200.3456;
DecimalFormat df = new DecimalFormat("#.##");      
time = Double.valueOf(df.format(time));

System.out.println(time); // 200.35

请注意,这实际上是为您进行舍入,而不仅仅是格式化。

例如,如果你真的想要相同的双精度,但以你想要的方式四舍五入,你可以使用BigDecimal

new BigDecimal(myValue).setScale(2, RoundingMode.HALF_UP).doubleValue();