Android String.format()和DecimalFormat实际上没有格式化

Android String.format()和DecimalFormat实际上没有格式化,android,number-formatting,string.format,decimalformat,Android,Number Formatting,String.format,Decimalformat,我尝试了两种不同的方式来格式化一些数字,以显示类似于货币的数字,因此保留小数点后2位。 但是,我已尝试将EditText字段设置为 EditText.setText(String.format(“%.2f,number)) 以及: DecimalFormat precision = new DecimalFormat("0.00"); EditText.setText(String.valueOf(precision.format(number)); 而且两者似乎都没有做任何事情,所有内容都默

我尝试了两种不同的方式来格式化一些数字,以显示类似于货币的数字,因此保留小数点后2位。 但是,我已尝试将EditText字段设置为

EditText.setText(String.format(“%.2f,number))

以及:

DecimalFormat precision = new DecimalFormat("0.00");
EditText.setText(String.valueOf(precision.format(number));

而且两者似乎都没有做任何事情,所有内容都默认设置为1位小数,即30.0,如果有其他设置,则将设置为3位或更多小数,即30.243

DecimalFormat precision = new DecimalFormat("0.##");
edittext.setText(precision.format(number));

试试这个

DecimalFormat precision = new DecimalFormat("0.##");
edittext.setText(precision.format(number));
@梅森·理查森

您是否尝试过为您的值设置最小分数的
setMinimumFractionDigits()

 DecimalFormat precision = new DecimalFormat("#.##");
 dec.setMinimumFractionDigits(2);
 EditText.setText(String.valueOf(precision.format(number));
@梅森·理查森

您是否尝试过为您的值设置最小分数的
setMinimumFractionDigits()

 DecimalFormat precision = new DecimalFormat("#.##");
 dec.setMinimumFractionDigits(2);
 EditText.setText(String.valueOf(precision.format(number));
试试这个

        double rews = 100.89478;
        String ada = new DecimalFormat("##.##").format(rews);
        System.out.println(ada);
输出

这里是
。##
,因此它将给出2个小数点。如果要添加3个表示使用
。##
,试试这个

        double rews = 100.89478;
        String ada = new DecimalFormat("##.##").format(rews);
        System.out.println(ada);
输出

这里是
。##
,因此它将给出2个小数点。如果要添加3表示使用
。##
,如果要将5.00显示为5,将5.10显示为5.1,则使用:

DecimalFormat formater = new DecimalFormat("#.00");
如果要将5.00显示为5.00&将5.10显示为5.10,请使用:

DecimalFormat formater = new DecimalFormat("#.00");
如果要将5.00显示为5,将5.10显示为5.1,请使用:

DecimalFormat formater = new DecimalFormat("#.00");
如果要将5.00显示为5.00&将5.10显示为5.10,请使用:

DecimalFormat formater = new DecimalFormat("#.00");

您的代码似乎正确,但请看这里

  System.out.printf("Floating point number with 2 decimal digits: %.2f\n",1.21312939123); 
  System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123);
  System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123);
  System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435);
输出:

Floating point number with 2 decimal digits: 1.21
Floating point number with 3 decimal digits: 1.213
Floating point number with 8 decimal digits: 1.21312939
String: Hello World, integer: 89, float: 9.231435

您的代码似乎正确,但请看这里

  System.out.printf("Floating point number with 2 decimal digits: %.2f\n",1.21312939123); 
  System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123);
  System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123);
  System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435);
输出:

Floating point number with 2 decimal digits: 1.21
Floating point number with 3 decimal digits: 1.213
Floating point number with 8 decimal digits: 1.21312939
String: Hello World, integer: 89, float: 9.231435

没有得到你的问题和你想要的。我认为你的代码是正确的,请仔细检查。没有得到你的问题和你想要的。我认为你的代码是正确的,请仔细检查