格式化输出两位十进制数字和单独的十进制五位空格

时间:2012-04-29 21:24:53

标签: java printf

我想要打印的语句的代码如下:

System.out.printf("%-5s.2f %5s %14s %5s\n", months[x], avg[x]((avg[x]-variation)*100.0)/100.0, "Above");

我的输出是:

Months Average Variations
Jan .2f 13.3 1.7299999999999986 Below

我需要格式化"变体"两位小数,而不是获得不必要的小数,但我还需要将其分开,以便适当格式化。我不需要上传剩下的代码,这是让我的程序无法工作的唯一因素。

1 个答案:

答案 0 :(得分:0)

不确定我是否正确理解了这个问题,但也许这段代码可以满足您的需求?

System.out.println("Months Average Variations");
System.out.printf("%-5s.2f %5s %12.2f %5s\n", "Jan", 13.3, 1.7299999999999986, "Below");

输出:

Months Average Variations
Jan  .2f  13.3         1.73 Below

而且,在询问StackOverflow之前研究Internet总是有用的,例如,您可以阅读this tutorial关于格式化数字(以及Formatter类的JavaDoc)。