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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.