只需要帮助打印小数点后1位



我正试图将输出打印到小数点后1位。我尝试过使用DecimalFormat,但它扰乱了我输出的对齐。以下是我使用DecimalFormat:之前的输出

ID程序中期最终加权平均

-----------------------------------------------

1212 90.0 85.0 92.0 89.300000000001通过

6666 60.0 80.0 90.0 78.0通过

7777 90.0 90.0 90.0通过

8888 95.0 87.0 93.0 91.8通过

9999 75.0 77.0 73.0 74.8通过

这是我使用DecimalFormat:后的样子

ID课程中期最终加权平均课程等级

----------------------------------------------------

1212 90.0 85.0 92.0 89.3通过

6666 60.0 80.0 90.0 78通过

7777 90.0 90.0 90.0通过

8888 95.0 87.0 93.0 91.8通过

9999 75.0 77.0 73.0 74.8通过

这是我正在使用的代码:

DecimalFormat df = new DecimalFormat("#.#");
double Program = inputFile.nextDouble(); //Programs
double Midterm = inputFile.nextDouble(); //Midterm
double Final = inputFile.nextDouble(); //Final
double WAverage = (Program * WProgram) + (Midterm * WMidterm)+ 
(Final * WFinal);
classAve = classAve +WAverage;
NumStudents++;
String ResultsString = new String(" Fail");
if (WAverage >= 70)
ResultsString = " Pass";
System.out.println(ID +"   " + Program +"     "+ Midterm +"    "+ Final +
"             "+ df.format(WAverage) +"           " +ResultsString );

使用

String.format("%.1f", WAverage);

代替

df.format()

无需DecimalFormat

您必须设置最小小数位数:

df.setMinimumFractionDigits(1);

您可以通过更改一个字符来完成您想要的操作:如果您希望始终显示一个小数位,即使该数字为零,也可以在格式字符串中使用.0而不是.#。以下是文档:http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

那么代码片段的第一行将是:

DecimalFormat df = new DecimalFormat("#.0");

相关内容

  • 没有找到相关文章

最新更新