Как правильно округлить значения до Java? - PullRequest
0 голосов
/ 08 мая 2020

Я хочу получить округленные значения, как показано ниже.

round (1.4) = 1
round (1.5) = 1
round (1.6) = 2

Как получить результат округления (1.5) до 1 вместо 2, используя код java?

Ответы [ 2 ]

6 голосов
/ 08 мая 2020

Поскольку вы хотите от .6, это будет максимальное значение, тогда используйте это

x = Math.floor(x + 0.4);
0 голосов
/ 08 мая 2020

Как я уже упоминал в комментариях, вы можете вычесть 0.1 перед вызовом Math.round. Например,

DoubleStream.of(1.4, 1.5, 1.59, 1.6)
        .mapToInt(x -> (int) Math.round(x - 0.1))
        .forEach(System.out::println);

Выходы (по запросу)

1
1
1
2
...