【发布时间】:2015-02-15 21:43:30
【问题描述】:
我试图让我的输出只打印到小数点后 1 位。我尝试使用 DecimalFormat,但它弄乱了我的输出对齐。
这是我在使用 DecimalFormat 之前的输出:
ID 计划期中最终加权平均数
-- -------- -------- ----- -------- -------
1212 90.0 85.0 92.0 89.30000000000001 通行证
6666 60.0 80.0 90.0 78.0 通过
7777 90.0 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 90 通过
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 );
【问题讨论】:
标签: java decimal decimalformat