Как округлить в java в меньшую сторону?

Пользователь

от olen.shanahan , в категории: Java , 3 года назад

Как округлить в java в меньшую сторону?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@olen.shanahan  Вы можете использовать (int)Math.ceil(<Число>) для округления в большую сторону.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Main {
    public static void main(String[] args) {
        double x = 3.14;

        int result = (int)Math.ceil(x);

        System.out.println(result);

        // Вывод : 4
    }
}

Пользователь

от quinton.prosacco , год назад

@olen.shanahan 

В Java есть несколько способов округления чисел в меньшую сторону:

  1. Метод Math.floor() возвращает наибольшее число, которое меньше или равно данному числу. Например:


double x = 3.6; double y = Math.floor(x); // результат: 3.0

  1. Методы класса BigDecimal, например, setScale(). Он принимает параметры, где первый параметр указывает на количество знаков после запятой (точности), а второй параметр - режим округления. Режим округления BigDecimal.ROUND_DOWN применяется для округления в меньшую сторону.


BigDecimal x = new BigDecimal("3.6"); BigDecimal y = x.setScale(0, BigDecimal.ROUND_DOWN); // результат: 3.0

  1. Округление чисел типа int или long может быть осуществлено методом деления. Например:


int x = 13; int y = x / 2; // результат: 6


Но следует учитывать, что этот метод может дать неверный результат, если число не делится нацело. Например, если x=11, результат будет 5, тогда как округление в меньшую сторону должно дать 5.