どのようにJavaストリームで平均丸めるには?

MasterJoe2:

私は(すなわち> = 0.5が最も近い整数に切り上げられ、<0.5最も近い整数に丸めダウンされた)整数のリストの平均値と、その後のラウンドの半分までの結果を計算します。どのように私はJavaストリームでこれを行うのですか?

public static void main(String [] args){
    List<Integer> values = new ArrayList<>();
    values.add(60);
    values.add(30);
    values.add(20);

    double avg = values.stream().mapToInt(a -> a).average().getAsDouble();

    System.out.println(avg);
}

私のような何かを期待していました

...average().round(RoundingMode.HALF_UP).getAsInt();
カーン:

あなたの意図はありませんストリーム自体内の値、結果を丸めることです。あなたが二重、その後、ラウンドその値を持つまでだから待ってMath.round()、これを交換することにより:

System.out.println(avg);
// output: 36.666666666666664

これとともに:

System.out.println(Math.round(avg));
// output: 37

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=331826&siteId=1