| Package | org.granite.math |
| Class | public final class RoundingMode |
| Inheritance | RoundingMode Enum |
BigDecimal number with the specified value, forming a
MathContext object with the proper settings
(precision set to 1, and the
roundingMode set to the rounding mode in question), and
calling BigDecimal.round on this number with the
proper MathContext. A summary table showing the results
of these rounding operations for all rounding modes appears below.
java.math.RoundingMode originally written by
Josh Bloch, Mike Cowlishaw and Joseph D. Darcy.
See also
| Method | Defined by | ||
|---|---|---|---|
![]() |
checkForConstant(o:*):*
[static]
| Enum | |
![]() | Enum | ||
![]() |
[static]
| Enum | |
![]() |
[static]
| Enum | |
![]() |
readExternal(input:IDataInput):void
| Enum | |
![]() |
toString():String
| Enum | |
|
valueOf(name:String):RoundingMode
[static]
Returns a
RoundingMode constant according to the
supplied parameter. | RoundingMode | ||
![]() |
writeExternal(output:IDataOutput):void
| Enum | |
| Constant | Defined by | ||
|---|---|---|---|
| CEILING : RoundingMode
[static]
Rounding mode to round towards positive infinity.
| RoundingMode | ||
| DOWN : RoundingMode
[static]
Rounding mode to round towards zero.
| RoundingMode | ||
| FLOOR : RoundingMode
[static]
Rounding mode to round towards negative infinity.
| RoundingMode | ||
| HALF_DOWN : RoundingMode
[static]
Rounding mode to round towards "nearest neighbor" unless both neighbors
are equidistant, in which case round down.
| RoundingMode | ||
| HALF_EVEN : RoundingMode
[static]
Rounding mode to round towards the "nearest neighbor" unless both
neighbors are equidistant, in which case, round towards the even
neighbor.
| RoundingMode | ||
| HALF_UP : RoundingMode
[static]
Rounding mode to round towards "nearest neighbor" unless both neighbors
are equidistant, in which case round up.
| RoundingMode | ||
| UNNECESSARY : RoundingMode
[static]
Rounding mode to assert that the requested operation has an exact result,
hence no rounding is necessary.
| RoundingMode | ||
| UP : RoundingMode
[static]
Rounding mode to round away from zero.
| RoundingMode | ||
| valueOf | () | method |
public static function valueOf(name:String):RoundingMode
Returns a RoundingMode constant according to the
supplied parameter.
name:String — a RoundingMode constant name.
|
RoundingMode —
a RoundingMode constant.
|
IllegalArgumentError — if the name
parameter does not specify a RoundingMode constant
name.
|
| CEILING | constant |
public static const CEILING:RoundingMode
Rounding mode to round towards positive infinity. If the
result is positive, behaves as for RoundingMode.UP;
if negative, behaves as for RoundingMode.DOWN. Note
that this rounding mode never decreases the calculated value.
Example:
| Input Number | Input rounded to one digit with CEILING rounding
|
|---|---|
| 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 |
| DOWN | constant |
public static const DOWN:RoundingMode
Rounding mode to round towards zero. Never increments the digit
prior to a discarded fraction (i.e., truncates). Note that this
rounding mode never increases the magnitude of the calculated value.
Example:
| Input Number | Input rounded to one digit with DOWN rounding
|
|---|---|
| 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 |
| FLOOR | constant |
public static const FLOOR:RoundingMode
Rounding mode to round towards negative infinity. If the
result is positive, behave as for RoundingMode.DOWN;
if negative, behave as for RoundingMode.UP. Note that
this rounding mode never increases the calculated value.
Example:
| Input Number | Input rounded to one digit with FLOOR rounding
|
|---|---|
| 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 |
| HALF_DOWN | constant |
public static const HALF_DOWN:RoundingMode
Rounding mode to round towards "nearest neighbor" unless both neighbors
are equidistant, in which case round down. Behaves as for
RoundingMode.UP if the discarded fraction is > 0.5;
otherwise, behaves as for RoundingMode.DOWN.
Example:
| Input Number | Input rounded to one digit with HALF_DOWN rounding
|
|---|---|
| 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 |
| HALF_EVEN | constant |
public static const HALF_EVEN:RoundingMode
Rounding mode to round towards the "nearest neighbor" unless both
neighbors are equidistant, in which case, round towards the even
neighbor. Behaves as for RoundingMode.HALF_UP if the
digit to the left of the discarded fraction is odd; behaves as for
RoundingMode.HALF_DOWN if it's even. Note that this
is the rounding mode that statistically minimizes cumulative
error when applied repeatedly over a sequence of calculations.
It is sometimes known as "Banker's rounding," and is
chiefly used in the USA. This rounding mode is analogous to
the rounding policy used for float and double
arithmetic in Java.
Example:
| Input Number | Input rounded to one digit with HALF_EVEN rounding
|
|---|---|
| 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 |
| HALF_UP | constant |
public static const HALF_UP:RoundingMode
Rounding mode to round towards "nearest neighbor" unless both neighbors
are equidistant, in which case round up. Behaves as for
RoundingMode.UP if the discarded fraction is >= 0.5;
otherwise, behaves as for RoundingMode.DOWN. Note that this
is the rounding mode commonly taught at school.
Example:
| Input Number | Input rounded to one digit with HALF_UP rounding
|
|---|---|
| 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 |
| UNNECESSARY | constant |
public static const UNNECESSARY:RoundingMode
Rounding mode to assert that the requested operation has an exact result,
hence no rounding is necessary. If this rounding mode is
specified on an operation that yields an inexact result, an
BigNumberError is thrown.
Example:
| Input Number | Input rounded to one digit with UNNECESSARY rounding
|
|---|---|
| 5.5 | throw BigNumberError |
| 2.5 | throw BigNumberError |
| 1.6 | throw BigNumberError |
| 1.1 | throw BigNumberError |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | throw BigNumberError |
| -1.6 | throw BigNumberError |
| -2.5 | throw BigNumberError |
| -5.5 | throw BigNumberError |
| UP | constant |
public static const UP:RoundingMode
Rounding mode to round away from zero. Always increments the
digit prior to a non-zero discarded fraction. Note that this
rounding mode never decreases the magnitude of the calculated
value.
Example:
| Input Number | Input rounded to one digit with UP rounding
|
|---|---|
| 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 |