Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Math.round()

Округляет число до ближайшего целого.

Доступно с: Java 1.0

Синтаксис

static long round(double a)

Параметры

ПараметрТипОписание
adouble / floatДробное число.

Возвращаемое значение

long (int for float)Ближайшее целое типа long; половина округляется вверх.

Примеры

Половина округляется в сторону большего:

void main() {
    IO.println(Math.round(2.4));
    IO.println(Math.round(2.5));
    IO.println(Math.round(-2.5));
}

Результат:

2
3
-2

Округление до двух знаков после точки:

void main() {
    double price = 19.98765;
    double rounded = Math.round(price * 100) / 100.0;
    IO.println(rounded);
}

Результат:

19.99

Примечания

Для double результат имеет тип long, поэтому int n = Math.round(x); не скомпилируется — нужно (int) Math.round(x). Если делить на 100, а не на 100.0, получится целочисленное деление. Для денег надёжнее BigDecimal.setScale(), для вывода — String.format("%.2f", x).

См. также

  • Math.floor() — Округляет вниз — до ближайшего меньшего или равного целого.
  • Math.ceil() — Округляет вверх — до ближайшего большего или равного целого.
  • BigDecimal — Точное десятичное число — для денег и расчётов, где недопустимы ошибки округления double.
  • String.format() — Собирает строку по шаблону с подстановками вроде %s и %d.

Вопросы и ответы по теме

В учебнике

  • Преобразование типов — Автоматическое расширение типов, явное приведение (int), превращение строк в числа через Integer.parseInt и чисел в строки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.