在java中相应地打印双值

在java中相应地打印双值,java,double,Java,Double,我在Java中有两个值,如下所示: 2.3422 45.3267 25.0 我想打印的是: 2.34 45.32 25 所以我用了下面的方法 DecimalFormat form=new DecimalFormat("#0.00"); form.format(value); 但我面临的问题是,对于25.0,它正在打印25.0,但我只想打印25,我该怎么办 请注意,将双精度值强制转换为整数适用于25.0,但对于2.3422之类的值则会失败。请尝试使用以下格式:“#0.#”将代码修复为: De

我在Java中有两个值,如下所示:

2.3422
45.3267
25.0
我想打印的是:

2.34
45.32
25
所以我用了下面的方法

DecimalFormat form=new DecimalFormat("#0.00");
form.format(value);
但我面临的问题是,对于25.0,它正在打印25.0,但我只想打印25,我该怎么办


请注意,将双精度值强制转换为整数适用于25.0,但对于2.3422之类的值则会失败。

请尝试使用以下格式:
“#0.#”

将代码修复为:

DecimalFormat form = new DecimalFormat("#0.##");
或者,您可以使用:

double value = 123.456789;
String.format( "%.2f", value );
用这个

DecimalFormat form = new DecimalFormat("0.##");
System.out.println(form.format(2.3422));
System.out.println(form.format(45.3267));
System.out.println(form.format(25.0));
输出:
2.34
45.33

25

45.3267
带两位小数点的是
45.33
,而不是
45.32
@Andreas,这取决于所需的舍入方法。2f是否产生两个尾随零?