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


当前回答

value = (int)(value * 100 + 0.5) / 100.0;

其他回答

double value= 200.3456;
DecimalFormat df = new DecimalFormat("0.00");      
System.out.println(df.format(value));
value = (int)(value * 100 + 0.5) / 100.0;

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

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

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

如果你只是想打印小数点后有两位数字的double,可以使用这样的方法:

double value = 200.3456;
System.out.printf("Value: %.2f", value);

如果你想将结果以String形式显示,而不是输出到控制台,请使用String.format(),并使用相同的参数:

String result = String.format("%.2f", value);

或者使用类DecimalFormat:

DecimalFormat df = new DecimalFormat("####0.00");
System.out.println("Value: " + df.format(value));