Java 将双精度四舍五入至小数点后2位,显示“#”。00“;而不是“我”。0“;

Java 将双精度四舍五入至小数点后2位,显示“#”。00“;而不是“我”。0“;,java,floating-point,double,decimal,rounding,Java,Floating Point,Double,Decimal,Rounding,例如,我的Android应用程序(Java代码)正在显示15.0,我需要显示的格式是15.00。我的变量是double。我怎样才能做到这一点?我尝试的是Jonik的答案中的以下代码: 我想看看打印出来的15.00。然而,我看到的是15.0,这不是我想要的。有什么想法可以满足我的需要吗?谢谢。我想你在找。像这样的方法应该会奏效: double a = 10.19823493; double b = 1.2; NumberFormat formatter = NumberFormat.getIns

例如,我的Android应用程序(Java代码)正在显示
15.0
,我需要显示的格式是
15.00
。我的变量是
double
。我怎样才能做到这一点?我尝试的是Jonik的答案中的以下代码:


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

我想你在找。像这样的方法应该会奏效:

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"
double myValue = 15.0;
round(myValue, 2);
System.out.println(myValue);
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"