java – 格式化数量相同的填充数

我想在Java中格式化3位浮点数,以便它们垂直排列,使其看起来像:

123.45
 99
 23.2
 45

当我使用DecimalFormat类时,我接近,但是当项目有1或2位数时,我想插入空格.

我的代码:

DecimalFormat formatter = new java.text.DecimalFormat("####.##");
float [] floats = [123.45, 99.0, 23.2, 45.0];

for(int i=0; i<floats.length; i++)
{
    float value = floats[i];

    println(formatter.format(value));
}

它产生:

123.45
99
23.2
45

如何打印它,除了第一行之外的所有东西都被移动1个空格?

尝试用String.format()(JavaDoc):

public static void main(String args[]){
  String format = "%10.2f\n";  // width == 10 and 2 digits after the dot
  float [] floats = {123.45f, 99.0f, 23.2f, 45.0f};
  for(int i=0; i<floats.length; i++) {
      float value = floats[i];
      System.out.format(format, value);
}

输出为:

123.45
 99.00
 23.20
 45.00
翻译自:https://stackoverflow.com/questions/3339516/formatting-numbers-with-same-amount-of-padding

转载注明原文:java – 格式化数量相同的填充数