四舍五入到小数点后 2 位显示“#.00”而不是“#.0”

Round a double to 2 decimal places displaying "#.00" instead of "#.0"

我的 Android 应用程序(Java 代码)正在显示 15.0,我需要显示的格式是 15.00。我的变量是 double。我怎样才能做到这一点?我试过的是 Jonik 在 Round a double to 2 decimal places:

的回答中的以下代码
public static double round(double value, int places) {
    if (places < 0) throw new IllegalArgumentException();
    BigDecimal bd = BigDecimal.valueOf(value);
    bd = bd.setScale(places, RoundingMode.HALF_UP);
    return bd.doubleValue();
}

然后我用这个:

double myValue = 15.0;
round(myValue, 2);
System.out.println(myValue);

我想看到 15.00 打印出来。但是,我看到的是 15.0 而这不是我想要的。有什么想法可以实现我的需要吗?谢谢。

我认为您正在寻找 NumberFormat。这样的事情应该有效:

double a = 10.19823493;
double b = 1.2;

NumberFormat formatter = NumberFormat.getInstance();
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(2);

System.out.println(formatter.format(a)); // "10.20"
System.out.println(formatter.format(b)); // "1.20"