使用string.format .places java舍入到小数点后2位

时间:2017-11-10 10:53:06

标签: java

我的家庭作业给出了参加者的骨架,我的工作是命名周,所以它在阵列中创造价值并获得每周的出勤率并获得输出 代码是:

public class AttendanceTest {

    public static void main(String[] args) {
        final Integer CLASS_SIZE = 15;
        Integer[] attendances = {10, 14, 12, 9, 11, 15, 12, 13, 8, 14};
        final Integer ACADEMIC_WEEKS = 10;
        final String[] weeks = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
        Double totalAvg;

        for (Integer week = 0; week < ACADEMIC_WEEKS; week++) {
            totalAvg = (double)(attendances[week]*100)/CLASS_SIZE;
            System.out.println(weeks[week] + "    " +totalAvg);
        }
    }
}

并输出:

1    66.66666666666667
2    93.33333333333333
3    80.0
4    60.0
5    73.33333333333333
6    100.0
7    80.0
8    86.66666666666667
9    53.333333333333336
10    93.33333333333333

如何使用String.format和/或.places?

将输出舍入到2位小数

所以输出将是:

1   66.67
2   93.33
3   80.00
4   60.00
5   73.33
6  100.00
7   80.00
8   86.67
9   53.33
10  93.33

1 个答案:

答案 0 :(得分:1)

使用printf,而不是println

System.out.printf("%s\t%.2f%n", weeks[week], totalAvg);
  • %s打印以字符串
  • 指定的第一个参数
  • \t打印标签
  • %.2f打印第二个参数,为 float ,带有2位小数
  • %n打印一个新行