РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
629 of 1163 menu

Метод divide

Метод divide класса BigDecimal выполняет деление одного числа на другое. В первый параметр мы передаем делитель (число, на которое делим), во второй параметр - масштаб (количество знаков после запятой), в третий - режим округления RoundingMode. Без указания масштаба и режима округления метод может выбросить исключение ArithmeticException, если результат деления нельзя представить точно.

Синтаксис

bigDecimal.divide(divisor) bigDecimal.divide(divisor, scale, roundingMode)

Пример

Давайте разделим число 10 на 2 без указания масштаба. Результат деления точен:

import java.math.BigDecimal; public class Main { public static void main(String[] args) { BigDecimal a = new BigDecimal("10"); BigDecimal b = new BigDecimal("2"); BigDecimal res = a.divide(b); System.out.println(res); } }

Результат выполнения кода:

5

Пример

Давайте разделим число 10 на 3 с указанием масштаба 2 и режима округления HALF_UP:

import java.math.BigDecimal; import java.math.RoundingMode; public class Main { public static void main(String[] args) { BigDecimal a = new BigDecimal("10"); BigDecimal b = new BigDecimal("3"); BigDecimal res = a.divide(b, 2, RoundingMode.HALF_UP); System.out.println(res); } }

Результат выполнения кода:

3.33

Пример

Давайте разделим число 1 на 8 с масштабом 4 и режимом округления HALF_UP:

import java.math.BigDecimal; import java.math.RoundingMode; public class Main { public static void main(String[] args) { BigDecimal a = new BigDecimal("1"); BigDecimal b = new BigDecimal("8"); BigDecimal res = a.divide(b, 4, RoundingMode.HALF_UP); System.out.println(res); } }

Результат выполнения кода:

0.1250

Пример

Давайте попробуем разделить число 1 на 3 без указания масштаба и режима округления. Это приведет к исключению ArithmeticException:

import java.math.BigDecimal; public class Main { public static void main(String[] args) { BigDecimal a = new BigDecimal("1"); BigDecimal b = new BigDecimal("3"); BigDecimal res = a.divide(b); System.out.println(res); } }

Результат выполнения кода:

Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

Смотрите также

  • класс BigDecimal,
    который представляет неизменяемые десятичные числа
  • метод multiply,
    который выполняет умножение
  • метод setScale,
    который устанавливает масштаб числа
  • перечисление RoundingMode,
    которое задает режимы округления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить