|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public enum RoundingMode extends Enum<RoundingMode>
Каждое описание режима округления включает табличное перечисление, как различные двухразрядные десятичные значения были бы вокруг к одному десятичному значению цифры под округляющимся рассматриваемым режимом. Столбец результата в таблицах мог быть получен, создавая a BigDecimal число с указанным значением, формируясь a MathContext объект с надлежащими настройками (precision набор к 1, и roundingMode набор к округляющемуся рассматриваемому режиму), и вызов round на этом числе с надлежащим MathContext. Сводная таблица, показывая результаты этих операций округления для всех режимов округления появляется ниже.
| Результат округления ввода к одной цифре с данным округлением режима | ||||||||
|---|---|---|---|---|---|---|---|---|
| Входное Число | UP |
DOWN |
CEILING |
FLOOR |
HALF_UP |
HALF_DOWN |
HALF_EVEN |
UNNECESSARY |
| 5.5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | бросок ArithmeticException |
| 2.5 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | бросок ArithmeticException |
| 1.6 | 2 | 1 | 2 | 1 | 2 | 2 | 2 | бросок ArithmeticException |
| 1.1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 | бросок ArithmeticException |
| 1.0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| -1.0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
| -1.1 | -2 | -1 | -1 | -2 | -1 | -1 | -1 | бросок ArithmeticException |
| -1.6 | -2 | -1 | -1 | -2 | -2 | -2 | -2 | бросок ArithmeticException |
| -2.5 | -3 | -2 | -2 | -3 | -3 | -2 | -2 | бросок ArithmeticException |
| -5.5 | -6 | -5 | -5 | -6 | -6 | -5 | -6 | бросок ArithmeticException |
Это enum предназначается, чтобы заменить основанное на целом числе перечисление округления констант режима в BigDecimal (BigDecimal.ROUND_UP, BigDecimal.ROUND_DOWN, и т.д.).
BigDecimal, MathContext| Перечислимая Константа и Описание |
|---|
ПОТОЛОК
Округление режима к раунду к положительной бесконечности.
|
ВНИЗ
Округление режима к раунду к нулю.
|
ПОЛ
Округление режима к раунду к отрицательной бесконечности.
|
HALF_DOWN
Округление режима к раунду к "самому близкому соседу", если оба соседа не являются равноотстоящими, когда округляют в меньшую сторону.
|
HALF_EVEN
Округление режима к раунду к "самому близкому соседу", если оба соседа не являются равноотстоящими, когда, вокруг к даже граничат.
|
HALF_UP
Округление режима к раунду к "самому близкому соседу", если оба соседа не являются равноотстоящими, когда окружают.
|
НЕНУЖНЫЙ
Округляя режим, чтобы утверждать, что у требуемой работы есть точный результат, следовательно никакое округление не необходимо.
|
Округление режима к раунду далеко от нуля.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
static RoundingMode |
valueOf(int rm)
Возвраты
RoundingMode объект, соответствующий целому числу наследства округление режима, постоянного в BigDecimal. |
static RoundingMode |
valueOf(String name)
Возвращает перечислимую константу этого типа с указанным именем.
|
static RoundingMode[] |
values()
Возвращает массив, содержащий константы этого перечислимого типа, в порядке, которым они объявляются.
|
public static final RoundingMode UP
Пример:
| Входное Число | Ввод, округленный к одной цифре с UP округление |
|---|---|
| 5.5 | 6 |
| 2.5 | 3 |
| 1.6 | 2 |
| 1.1 | 2 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -2 |
| -1.6 | -2 |
| -2.5 | -3 |
| -5.5 | -6 |
public static final RoundingMode DOWN
Пример:
| Входное Число | Ввод, округленный к одной цифре с DOWN округление |
|---|---|
| 5.5 | 5 |
| 2.5 | 2 |
| 1.6 | 1 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -1 |
| -2.5 | -2 |
| -5.5 | -5 |
public static final RoundingMode CEILING
RoundingMode.UP; если отрицание, ведет себя что касается RoundingMode.DOWN. Отметьте, что этот режим округления никогда не уменьшает расчетное значение. Пример:
| Входное Число | Ввод, округленный к одной цифре с CEILING округление |
|---|---|
| 5.5 | 6 |
| 2.5 | 3 |
| 1.6 | 2 |
| 1.1 | 2 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -1 |
| -2.5 | -2 |
| -5.5 | -5 |
public static final RoundingMode FLOOR
RoundingMode.DOWN; если отрицание, ведите себя что касается RoundingMode.UP. Отметьте, что этот режим округления никогда не увеличивает расчетное значение. Пример:
| Входное Число | Ввод, округленный к одной цифре с FLOOR округление |
|---|---|
| 5.5 | 5 |
| 2.5 | 2 |
| 1.6 | 1 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -2 |
| -1.6 | -2 |
| -2.5 | -3 |
| -5.5 | -6 |
public static final RoundingMode HALF_UP
RoundingMode.UP если отброшенная часть является ≥ 0.5; иначе, ведет себя что касается RoundingMode.DOWN. Отметьте, что это - округляющийся режим, обычно преподававший в школе. Пример:
| Входное Число | Ввод, округленный к одной цифре с HALF_UP округление |
|---|---|
| 5.5 | 6 |
| 2.5 | 3 |
| 1.6 | 2 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -2 |
| -2.5 | -3 |
| -5.5 | -6 |
public static final RoundingMode HALF_DOWN
RoundingMode.UP если отброшенная часть> 0.5; иначе, ведет себя что касается RoundingMode.DOWN. Пример:
| Входное Число | Ввод, округленный к одной цифре с HALF_DOWN округление |
|---|---|
| 5.5 | 5 |
| 2.5 | 2 |
| 1.6 | 2 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -2 |
| -2.5 | -2 |
| -5.5 | -5 |
public static final RoundingMode HALF_EVEN
RoundingMode.HALF_UP если цифра налево от отброшенной части нечетна; ведет себя что касается RoundingMode.HALF_DOWN если это даже. Отметьте, что это - округляющийся режим, который статистически минимизирует совокупную ошибку когда применено неоднократно по последовательности вычислений. Это иногда известно как "округление банкира," и в основном используется в США. Этот режим округления походит на округляющуюся политику, используемую для float и double арифметика в Java. Пример:
| Входное Число | Ввод, округленный к одной цифре с HALF_EVEN округление |
|---|---|
| 5.5 | 6 |
| 2.5 | 2 |
| 1.6 | 2 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -2 |
| -2.5 | -2 |
| -5.5 | -6 |
public static final RoundingMode UNNECESSARY
ArithmeticException бросается. Пример:
| Входное Число | Ввод, округленный к одной цифре с UNNECESSARY округление |
|---|---|
| 5.5 | бросок ArithmeticException |
| 2.5 | бросок ArithmeticException |
| 1.6 | бросок ArithmeticException |
| 1.1 | бросок ArithmeticException |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | бросок ArithmeticException |
| -1.6 | бросок ArithmeticException |
| -2.5 | бросок ArithmeticException |
| -5.5 | бросок ArithmeticException |
public static RoundingMode[] values()
for (RoundingMode c : RoundingMode.values()) System.out.println(c);
public static RoundingMode valueOf(String name)
name - имя перечислимой константы, которая будет возвращена.IllegalArgumentException - если у этого перечислимого типа нет никакой константы с указанным именемNullPointerException - если параметром является нульpublic static RoundingMode valueOf(int rm)
RoundingMode объект, соответствующий целому числу наследства округление режима, постоянного в BigDecimal.rm - целое число наследства округление режима, чтобы преобразоватьRoundingMode соответствие данному целому числу.IllegalArgumentException - целое число испытывает недостаток диапазона
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92